SystemGetAccuracyResults(Analysis Services - 数据挖掘)
返回挖掘结构和所有相关模型(不包括聚类分析模型)的交叉验证准确性指标。
此存储过程将为作为单个分区的整个数据集返回指标。 若要将数据集分区为交叉部分,并返回每个分区的指标,请使用 SystemGetCrossValidationResults(Analysis Services - 数据挖掘)。
![]() |
---|
使用 Microsoft 时序算法或 Microsoft 顺序分析和聚类分析算法生成的模型不支持此存储过程。 此外,对于聚类分析模型,使用另一个存储过程 SystemGetClusterAccuracyResults(Analysis Services - 数据挖掘)。 |
语法
SystemGetAccuracyResults(<mining structure>,
[,<mining model list>]
,<data set>
,<target attribute>
[,<target state>]
[,<target threshold>]
[,<test list>])
参数
mining structure
当前数据库中挖掘结构的名称。(必需)
model list
要验证的模型的逗号分隔列表。默认值为 null。 这意味着将使用所有适用的模型。 使用默认值时,聚类分析模型将自动从处理候选列表中排除。
(可选)
data set
一个整数值,指示挖掘结构中要用于测试的分区。 此值派生自位掩码,该位掩码表示以下值的总和,其中任一单个值是可选的:定型事例
0x0001
测试事例
0x0002
模型筛选器
0x0004
有关可能的值的完整列表,请参阅本主题的“备注”部分。
(必需)
target attribute
包含可预测对象的名称的字符串。 可预测对象可以是挖掘模型的列、嵌套表列或嵌套表键列。(必需)
target state
包含要预测的特定值的字符串。如果指定了值,将针对该特定状态收集指标。
如果未指定值,或指定 Null,将针对每个预测最有可能的状态计算指标。
默认值为 null。
(可选)
target threshold
0.0 到 1 之间的数字,用于指定预测值视为正确的最小概率。默认值为 null,表示所有的预测都视为正确。
(可选)
test list
指定测试选项的字符串。 此参数留待将来使用。(可选)
返回类型
返回的行集包含每个分区的分数以及所有模型的聚合。
下表列出了 GetValidationResults 返回的列。
列名 |
说明 |
---|---|
Model |
所测试模型的名称。 All 指示结果为所有模型的聚合。 |
AttributeName |
可预测列的名称。 |
AttributeState |
可预测列中的目标值。 如果此列包含一个值,则只针对指定的状态收集指标。 如果未指定此值,或为 Null,则针对每个预测最有可能的状态计算指标。 |
PartitionIndex |
表示结果适用的分区。 对于此过程,始终为 0。 |
PartitionCases |
指示事例集中行数的整数,基于 <data set> 参数。 |
测试 |
所执行测试的类型。 |
Measure |
测试返回的度量值的名称。 每个模型的度量值取决于模型类型以及可预测值的类型。 有关为每个可预测类型返回的度量值的列表,请参阅交叉验证报表中的度量值。 有关每个度量值的定义,请参阅交叉验证(Analysis Services – 数据挖掘)。 |
值 |
指定的度量值的值。 |
注释
下表提供了一些值的示例,您可以使用这些值指定用于交叉验证的挖掘结构中的数据。 如果要将测试事例用于交叉验证,挖掘结构必须已包含测试数据集。 有关如何在创建挖掘结构时定义测试数据集的信息,请参阅定型数据集和测试数据集。
整数值 |
说明 |
---|---|
1 |
仅使用定型事例。 |
2 |
仅使用测试事例。 |
3 |
同时使用定型事例和测试事例。 |
4 |
无效组合。 |
5 |
仅使用定型事例,并应用模型筛选器。 |
6 |
仅使用测试事例,并应用模型筛选器。 |
7 |
同时使用定型事例和测试事例,并应用模型筛选器。 |
有关可以在其中使用交叉验证的应用场景的详细信息,请参阅测试和验证(数据挖掘)。
示例
此示例返回单个决策树模型 v Target Mail DT 的准确性度量值,该模型与 vTargetMail 挖掘结构关联。 第四行的代码指示结果应基于通过每个模型特定的筛选器为对应模型筛选的测试事例。 [Bike Buyer] 指定要预测的列,下一行的 1 指示仅针对特定值 1(表示“是,将要购买”)对模型进行评估。
代码的最后一行指定状态阈值为 0.5。 这意味着,计算准确性时,概率大于 50% 的预测就应视为“准确”的预测。
CALL SystemGetAccuracyResults (
[vTargetMail],
[vTargetMail DT],
6,
'Bike Buyer',
1,
0.5
)
示例结果:
ModelName |
AttributeName |
AttributeState |
PartitionIndex |
PartitionSize |
测试 |
度量值 |
值 |
---|---|---|---|---|---|---|---|
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
分类 |
真正 |
605 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
分类 |
假正 |
177 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
分类 |
真负 |
501 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
分类 |
假负 |
355 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
可能性 |
对数分数 |
-0.598454638753028 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
可能性 |
提升 |
0.0936717116894395 |
v Target Mail DT |
Bike Buyer |
1 |
0 |
1638 |
可能性 |
均方根误差 |
0.361630800104946 |
要求
从 SQL Server 2008 开始,交叉验证仅在 SQL Server Enterprise 中可用。
请参阅
参考
SystemGetCrossValidationResults(Analysis Services - 数据挖掘)
SystemGetAccuracyResults(Analysis Services - 数据挖掘)
SystemGetClusterCrossValidationResults(Analysis Services - 数据挖掘)