基于原始数据和聚类结果,评估聚类模型的优劣性,从而输出评估指标。

使用限制

仅原PAI-Studio平台支持查看该组件的可视化报告。

背景信息

评估指标Calinski-Harabasz又称VRC(Variance Ratio Criterion),其计算公式如下。VRC公式
参数描述
SSB聚类之间的方差,定义如下。SSB其中:
  • k:聚类中心点的数量。
  • mi:聚类的中心点。
  • m:输入数据的均值。
SSW聚类内的方差,定义如下。SSW其中:
  • k:聚类中心点的数量。
  • x:数据点。
  • ci:第i个聚类。
  • mi:聚类的中心点。
N记录的总数量。
k聚类中心点的数量。

组件配置

您可以使用以下任意一种方式,配置聚类模型评估组件参数。

方式一:可视化方式

在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
页签参数描述
字段设置参与评估列参与评估的列名,该参数必须与模型存储的特征列保持一致。
输入为稀疏格式使用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输入表中,参与训练的分区。支持以下格式:
  • Partition_name=value
  • name1=value1/name2=value2:多级格式
说明 如果指定多个分区,则使用英文逗号(,)分隔。
全表
enableSparse输入数据是否为稀疏格式,取值范围为{true,false}false
itemDelimiter稀疏格式KV对之间的分隔符。英文逗号(,)
kvDelimiter稀疏格式keyvalue之间的分隔符。英文冒号(;)
modelName输入的聚类模型。
outputTableName输出表。
lifecycle输出表的生命周期。

示例

  1. 使用SQL语句,生成测试数据。
    create table if not exists pai_cluster_evaluation_test_input as
    select * from
    (
      select 1 as id, 1 as f0,2 as f3 from dual
      union all
      select 2 as id, 1 as f0,3 as f3 from dual
      union all
      select 3 as id, 1 as f0,4 as f3 from dual
      union all
      select 4 as id, 0 as f0,3 as f3 from dual
      union all
      select 5 as id, 0 as f0,4 as f3 from dual
    )tmp;
  2. 使用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
  3. 使用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;
  4. 查看评估输出表pai_ft_cluster_evaluation_out,其可视化报告如下图所示。统计结果表中各字段含义如下。
    表字段描述
    count总记录数。
    centerCount聚类中心数。
    calinharaCalinski Harabasz指标。