SystemGetClusterCrossValidationResults(Analysis Services - 数据挖掘)
适用于:SQL Server 2019 及更早版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium
重要
数据挖掘在 SQL Server 2017 Analysis Services 中已弃用,现在在 SQL Server 2022 Analysis Services 中已停止使用。 对于已弃用和停止使用的功能,文档不会更新。 若要了解详细信息,请参阅 Analysis Services 后向兼容性。
将挖掘结构分区为指定数目的交叉部分,并对每个分区为模型定型,然后返回每个分区的准确性指标。
注意 :此存储过程只能用于包含至少一个聚类分析模型的挖掘结构。 若要交叉验证非聚类分析模型,必须使用 SystemGetCrossValidationResults (Analysis Services - 数据挖掘) 。
语法
SystemGetClusterCrossValidationResults(
<structure name>,
[,<mining model list>]
,<fold count>}
,<max cases>
<test list>])
参数
挖掘结构
当前数据库中挖掘结构的名称。
(必需)
挖掘模型列表
要验证的挖掘模型的逗号分隔列表。
如果未指定挖掘模型列表,则对与指定结构关联的所有聚类分析模型执行交叉验证。
注意
若要交叉验证不是聚类分析模型的模型,必须使用单独的存储过程 SystemGetCrossValidationResults (Analysis Services - 数据挖掘) 。
(可选)
折叠计数
整数,指定将数据集分入的分区的数目。 最小值为 2。 最大倍数为 maximum integer 或事例数,取两者中的较低者。
每个分区将包含大致如此数量的事例: 最大事例折叠/计数。
没有默认值。
注意
折叠数会在很大程度上影响执行交叉验证所需的时间。 如果选择的数目过高,查询可能需要运行较长时间,在某些情况下,服务器可能会停止响应或超时。
(必需)
最大事例数
整数,指定可以测试的最大事例数。
值 0 指示将使用数据源中的所有事例。
如果指定的数目大于数据集中的实际事例数,则使用数据源中的所有事例。
(必需)
测试列表
指定测试选项的字符串。
注意 :此参数留待将来使用。
(可选)
返回类型
返回类型表包含每个分区的分数以及所有模型的聚合。
下表介绍返回的列。
列名 | 说明 |
---|---|
ModelName | 所测试模型的名称。 |
AttributeName | 可预测列的名称。 对于分类模型,始终为 null。 |
AttributeState | 可预测列中的指定目标值。 对于群集模型,始终 为 null。 |
PartitionIndex | 一个从 1 开始的索引,用于标识结果适用于哪个分区。 |
PartitionSize | 一个整数,指示每个分区中包含的事例数。 |
测试 | 所执行测试的类型。 |
度量值 | 测试返回的度量值的名称。 每个模型的度量值都取决于可预测值的类型。 有关每个度量值的定义,请参阅 交叉验证 (Analysis Services - 数据挖掘) 。 有关为每个可预测类型返回的度量值的列表,请参阅 交叉验证报表中的度量值。 |
值 | 指定的测试度量值的值。 |
注解
若要返回整个数据集的准确性指标,请使用 SystemGetClusterAccuracyResults (Analysis Services - 数据挖掘) 。
此外,如果挖掘模型已分区为折叠,则可以绕过处理,并使用 SystemGetClusterAccuracyResults (Analysis Services - 数据挖掘) 仅返回交叉验证的结果。
示例
下面的示例演示如何将挖掘结构分区为三个折叠,然后测试与该挖掘结构关联的两个聚类分析模型。
代码的第三行列出了要测试的特定挖掘模型。 如果未指定此列表,则使用与该结构关联的所有聚类分析模型。
代码的第四行指定了折叠数,第五行指定了要使用的最大事例数。
由于这些模型是聚类分析模型,您不需要指定可预测属性或值。
CALL SystemGetClusterCrossValidationResults(
[v Target Mail],
[Cluster 1], [Cluster 2],
3,
10000
)
示例结果:
ModelName | AttributeName | AttributeState | PartitionIndex | PartitionSize | 测试 | 度量值 | 值 |
---|---|---|---|---|---|---|---|
分类 1 | 1 | 3025 | 群集 | 事例可能性 | 0.930524511864121 | ||
分类 1 | 2 | 3025 | 群集 | 事例可能性 | 0.919184178430778 | ||
分类 1 | 3 | 3024 | 群集 | 事例可能性 | 0.929651120490248 | ||
Cluster 2 | 1 | 1289 | 群集 | 事例可能性 | 0.922789726933607 | ||
Cluster 2 | 2 | 1288 | 群集 | 事例可能性 | 0.934865535691068 | ||
Cluster 2 | 3 | 1288 | 群集 | 事例可能性 | 0.924724595688798 |
要求
从 2008 SQL Server 开始,交叉验证仅在SQL Server Enterprise中可用。
另请参阅
SystemGetCrossValidationResults(Analysis Services - 数据挖掘)
SystemGetAccuracyResults(Analysis Services - 数据挖掘)
SystemGetClusterCrossValidationResults
SystemGetClusterAccuracyResults(Analysis Services - 数据挖掘)