本文为您介绍Designer提供的预测算法。使用Designer中的传统数据挖掘算法得到的模型,如果没有同名配套的预测组件,通常都可以采用这个通用预测组件来做预测。该组件的输入为训练模型和预测数据,输出为预测结果。

组件配置

您可以使用以下任意一种方式,配置预测组件参数。

方式一:可视化方式

Designer工作流页面配置组件参数。

页签

参数

描述

字段设置

特征列

参与预测的特征列,默认选择所有列。

原样输出列

建议添加标签列,便于评估。

输出结果列名

输出表的结果列。

输出分数列名

输出i表的分数列。

输出详细列名

输出表的详细列。

稀疏矩阵

使用KV格式表示稀疏数据。

keyvalue分隔符

默认为英文冒号(:)。

kv对间的分隔符

默认为英文逗号(,)。

执行调优

核心数

与参数每个核的内存大小搭配使用,取值范围为正整数。

每个核的内存大小

与参数核心数搭配使用,单位为MB。

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本

pai -name prediction
    -DmodelName=nb_model
    -DinputTableName=wpbc
    -DoutputTableName=wpbc_pred
    -DappendColNames=label;

参数

是否必选

描述

默认值

inputTableName

输入表的名称。

featureColNames

输入表中,参与预测的特征列,多个列以英文逗号(,)分隔。

所有列

appendColNames

输入表中,附加至输出表的预测列。

inputTablePartitions

输入表中,参与训练的分区。支持以下格式:

  • Partition_name=value

  • name1=value1/name2=value2:多级格式

说明

如果指定多个分区,则使用英文逗号(,)分隔。

全表

outputTablePartition

结果输出至输出表的分区。

resultColName

输出表的预测结果,即所有可能结果中,预测概率最高的结果。

prediction_result

scoreColName

输出表的预测结果的概率,即预测概率最高结果对应的预测概率值。

prediction_score

detailColName

输出表的详细列,即所有可能结果及其预测概率详情。

prediction_detail

enableSparse

输入数据是否为稀疏格式,取值范围为{true,false}

false

itemDelimiter

稀疏格式KV对之间的分隔符。

英文逗号(,)

kvDelimiter

稀疏格式keyvalue之间的分隔符。

英文冒号(;)

modelName

输入的聚类模型。

outputTableName

输出表。

lifecycle

输出表的生命周期。

coreNum

节点个数。

系统自动分配

memSizePerCore

每个节点的内存,单位为MB。

系统自动分配

示例

  1. 使用SQL语句,生成测试数据。

    create table pai_rf_test_input as
    select * from
    (
    select 1 as f0,2 as f1, "good" as class
    union all
    select 1 as f0,3 as f1, "good" as class
    union all
    select 1 as f0,4 as f1, "bad" as class
    union all
    select 0 as f0,3 as f1, "good" as class
    union all
    select 0 as f0,4 as f1, "bad" as class
    )tmp;
  2. 使用PAI命令,构建模型(以随机森林算法为例)。

    PAI -name randomforests
       -project algo_public
       -DinputTableName="pai_rf_test_input"
       -DmodelName="pai_rf_test_model"
       -DforceCategorical="f1"
       -DlabelColName="class"
       -DfeatureColNames="f0,f1"
       -DmaxRecordSize="100000"
       -DminNumPer="0"
       -DminNumObj="2"
       -DtreeNum="3";
  3. 使用PAI命令,提交预测组件参数。

    PAI -name prediction
        -project algo_public
        -DinputTableName=pai_rf_test_input
        -DmodelName=pai_rf_test_model
        -DresultColName=prediction_result
        -DscoreColName=prediction_score
        -DdetailColName=prediction_detail
        -DoutputTableName=pai_temp_2283_76333_1
  4. 查看输出结果表pai_temp_2283_76333_1预测组件结果其中:

    • prediction_result:为所有可能结果中,预测概率最高的结果。

    • prediction_score:为概率最高结果的具体预测概率值。

      当可能的结果包括badgood时,每次预测的prediction_score值既可能是bad的概率,也可能是good的概率,根据每次预测为badgood的概率值比较结果为准,prediction_score为概率值最高的结果值。

    • prediction_detail:所有可能的结果和其对应的预测概率值详情。