基于原始数据和聚类结果,评估聚类模型的优劣性,从而输出评估指标。
使用限制
仅原PAI-Studio平台支持查看该组件的可视化报告。
背景信息
评估指标Calinski-Harabasz又称VRC(Variance Ratio Criterion),其计算公式如下。
参数 | 描述 |
SSB | 聚类之间的方差,定义如下。其中:
|
SSW | 聚类内的方差,定义如下。其中:
|
N | 记录的总数量。 |
k | 聚类中心点的数量。 |
组件配置
您可以使用以下任意一种方式,配置聚类模型评估组件参数。
方式一:可视化方式
在Designer工作流页面配置组件参数。
页签 | 参数 | 描述 |
字段设置 | 参与评估列 | 参与评估的列名,该参数必须与模型存储的特征列保持一致。 |
输入为稀疏格式 | 使用KV格式表示稀疏数据。 | |
kv键间分隔符 | 默认为英文逗号(,)。 | |
kv键内分隔符 | 默认为英文冒号(:)。 | |
执行调优 | 核心数 | 与参数每个核的内存大小搭配使用,取值范围为正整数。 |
每个核的内存大小 | 与参数核心数搭配使用,单位为MB。 |
方式二:PAI命令方式
使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本。
PAI -name cluster_evaluation
-project algo_public
-DinputTableName=pai_cluster_evaluation_test_input
-DselectedColNames=f0,f3
-DmodelName=pai_kmeans_test_model
-DoutputTableName=pai_ft_cluster_evaluation_out;
参数 | 是否必选 | 描述 | 默认值 |
inputTableName | 是 | 输入表的名称。 | 无 |
selectedColNames | 否 | 输入表中,参与评估的列名,多个列以英文逗号(,)分隔。该参数必须与模型存储的特征列保持一致。 | 所有列 |
inputTablePartitions | 否 | 输入表中,参与训练的分区。支持以下格式:
说明 如果指定多个分区,则使用英文逗号(,)分隔。 | 全表 |
enableSparse | 否 | 输入数据是否为稀疏格式,取值范围为{true,false}。 | false |
itemDelimiter | 否 | 稀疏格式KV对之间的分隔符。 | 英文逗号(,) |
kvDelimiter | 否 | 稀疏格式key和value之间的分隔符。 | 英文冒号(;) |
modelName | 是 | 输入的聚类模型。 | 无 |
outputTableName | 是 | 输出表。 | 无 |
lifecycle | 否 | 输出表的生命周期。 | 无 |
示例
使用SQL语句,生成测试数据。
create table if not exists pai_cluster_evaluation_test_input as select * from ( select 1 as id, 1 as f0,2 as f3 union all select 2 as id, 1 as f0,3 as f3 union all select 3 as id, 1 as f0,4 as f3 union all select 4 as id, 0 as f0,3 as f3 union all select 5 as id, 0 as f0,4 as f3 )tmp;
使用PAI命令,构建聚类模型(以K均值聚类为例)。
PAI -name kmeans -project algo_public -DinputTableName=pai_cluster_evaluation_test_input -DselectedColNames=f0,f3 -DcenterCount=3 -Dloop=10 -Daccuracy=0.00001 -DdistanceType=euclidean -DinitCenterMethod=random -Dseed=1 -DmodelName=pai_kmeans_test_model -DidxTableName=pai_kmeans_test_idx
使用PAI命令,提交聚类模型评估组件的参数。
PAI -name cluster_evaluation -project algo_public -DinputTableName=pai_cluster_evaluation_test_input -DselectedColNames=f0,f3 -DmodelName=pai_kmeans_test_model -DoutputTableName=pai_ft_cluster_evaluation_out;
查看评估输出表pai_ft_cluster_evaluation_out,其可视化报告如下图所示。表中各字段含义如下。
表字段
描述
count
总记录数。
centerCount
聚类中心数。
calinhara
Calinski Harabasz指标。