混淆矩阵(Confusion Matrix)适用于监督学习,与无监督学习中的匹配矩阵对应。在精度评价中,混淆矩阵主要用于比较分类结果和实际测量值,可以将分类结果的精度显示在一个矩阵中。

组件配置

您可以使用以下任意一种方式,配置混淆矩阵组件参数。

方式一:可视化方式

在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
参数描述
原数据的标签列列名支持数值类型。
预测结果的标签列列名如果未配置阈值,则该参数必选。
阈值大于该参数值的样本为正样本。
预测结果的详细列列名预测结果的标签列列名不能共存。如果已配置阈值,则该参数必选。
正样本的标签值如果已配置阈值,则该参数必选。

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本
  • 未指定阈值
    pai -name confusionmatrix -project algo_public
        -DinputTableName=wpbc_pred
        -DoutputTableName=wpbc_confu
        -DlabelColName=label
        -DpredictionColName=prediction_result;
  • 指定阈值
    pai -name confusionmatrix -project algo_public
        -DinputTableName=wpbc_pred
        -DoutputTableName=wpbc_confu
        -DlabelColName=label
        -DpredictionDetailColName=prediction_detail
        -Dthreshold=0.8
        -DgoodValue=N;
参数是否必选描述默认值
inputTableName输入表的名称,即预测输出表。
inputTablePartition输入表的分区。全表
outputTableName输出表的名称,用于存储混淆矩阵。
labelColName原始标签列的名称。
predictionColName预测结果列的名称。如果未配置threshold,则该参数必选。
predictionDetailColName预测结果详细列的名称。如果已配置threshold,则该参数必选。
threshold划分正样本的阈值。0.5
goodValue二分类时,指定训练系数对应的标签值。如果已配置threshold,则该参数必选。
coreNum计算的核心数量。系统自动分配
memSizePerCore每个核心的内存,单位为MB。系统自动分配
lifecycle输出表的生命周期。

示例

  1. 导入如下测试数据。
    idlabelprediction_result
    0AA
    1AB
    2AA
    3AA
    4BB
    5BB
    6BA
    7BB
    8BA
    9AA
  2. 构建如下实验,详情请参见算法建模混淆矩阵实验
  3. 配置混淆矩阵的参数(配置如下表格中的参数,其余参数使用默认值)。
    参数描述
    原数据的标签列列名选择label列。
    预测结果的标签列列名选择prediction_result列。
  4. 运行实验,查看混淆矩阵组件的输出结果:
    • 单击混淆矩阵页签,查看输出的混淆矩阵。混淆矩阵
    • 单击统计信息页签,查看模型统计信息。混淆矩阵示例统计信息