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> 参数。

Test

所执行测试的类型。

Measure

测试返回的度量值的名称。每个模型的度量值取决于模型类型以及可预测值的类型。

有关为每个可预测类型返回的度量值的列表,请参阅交叉验证报表(Analysis Services - 数据挖掘)

有关每个度量值的定义,请参阅交叉验证(Analysis Services – 数据挖掘)

Value

指定的度量值的值。

注释

下表提供了一些值的示例,您可以使用这些值指定用于交叉验证的挖掘结构中的数据。如果要将测试事例用于交叉验证,挖掘结构必须已包含测试数据集。有关如何在创建挖掘结构时定义测试数据集的信息,请参阅将数据分区为定型集和测试集(Analysis Services - 数据挖掘)

整数值

说明

1

仅使用定型事例。

2

仅使用测试事例。

3

同时使用定型事例和测试事例。

4

无效组合。

5

仅使用定型事例,并应用模型筛选器。

6

仅使用测试事例,并应用模型筛选器。

7

同时使用定型事例和测试事例,并应用模型筛选器。

有关可以在其中使用交叉验证的应用场景的详细信息,请参阅验证数据挖掘模型(Analysis Services – 数据挖掘)

示例

此示例返回单个决策树模型 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

Test

Measure

Value

v Target Mail DT

Bike Buyer

1

0

1638

Classification

True Positive

605

v Target Mail DT

Bike Buyer

1

0

1638

Classification

False Positive

177

v Target Mail DT

Bike Buyer

1

0

1638

Classification

True Negative

501

v Target Mail DT

Bike Buyer

1

0

1638

Classification

False Negative

355

v Target Mail DT

Bike Buyer

1

0

1638

Likelihood

Log Score

-0.598454638753028

v Target Mail DT

Bike Buyer

1

0

1638

Likelihood

Lift

0.0936717116894395

v Target Mail DT

Bike Buyer

1

0

1638

Likelihood

Root Mean Square Error

0.361630800104946

要求

从 SQL Server 2008 开始,交叉验证仅在 SQL Server Enterprise 中可用。