根据您使用的不同特征选择方法,从所有稀疏或稠密格式的特征数据中选择并过滤出TopN的特征数据,同时保存为特征重要性表,实现了降低模型训练的难度和提高训练模型的精确度。本文为您介绍PAI-Designer(原PAI-Studio)提供的过滤式特征选择组件的参数配置和使用示例。

使用限制

过滤式特征选择不支持过滤libsvm和kv数据格式。

组件配置

您可以使用以下任意一种方式,配置过滤式特征选择组件参数。

方式一:可视化方式

在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
页签 参数 描述
字段设置 选择特征列 输入表中用于训练的特征列。
选择目标列 输入表中选择的目标列名称。
枚举类特征 选中的特征将被视做枚举特征处理,支持INT或DOUBLE类型。
是否K:V,K:V稀疏特征 是否是K:V的稀疏特征。
参数设置 特征选择方法 特征选择的方法,取值如下:
  • IV:用来衡量特征预测能力的指标。
  • Gini增益:主要用于单特征重要性评估。
  • 信息增益:用于度量多特征之间的差异。
  • Lasso:用于超大规模特征的降维筛选。
挑选TopN特征 挑选的TopN个特征,如果TopN大于输入特征数,则输出所有特征。
连续特征分区方式 连续特征分区的方式,取值如下:
  • 自动化分区
  • 等距离分区
连续特征离散区间数 连续特征分区方式选择等距离分区时,才需要配置该参数。

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本
PAI -name fe_select_runner -project algo_public 
     -DfeatImportanceTable=pai_temp_2260_22603_2 
     -DselectMethod=iv 
     -DselectedCols=pdays,previous,emp_var_rate,cons_price_idx,cons_conf_idx,euribor3m,nr_employed,age,campaign 
     -DtopN=5 
     -DlabelCol=y 
     -DmaxBins=100 
     -DinputTable=pai_dense_10_9 
     -DoutputTable=pai_temp_2260_22603_1;
参数名称 是否必选 描述 默认值
inputTable 输入的表名称。
inputTablePartitions 输入表中参与训练的分区。系统支持以下格式:
  • Partition_name=value
  • name1=value1/name2=value2:多级分区
说明 指定多个分区时,分区之间使用英文逗号(,)分隔。
所有分区
outputTable 过滤后的特征结果表。
featImportanceTable 存放所有输入特征的重要性权重值。
selectedCols 用于训练的特征列。
labelCol 输入表中选中的目标列。
categoryCols 枚举类特征,只能为INT或DOUBLE类型。
maxBins 连续类特征划分的最大区间数。 100
selectMethod 特征选择的方法,取值包括:iv、GiniGain、InfoGain和Lasso。 iv
topN 挑选的TopN个特征,如果TopN大于输入特征数,则输出所有特征。 10
isSparse 是否是k:v的稀疏特征,false为稠密特征。 false

示例

  • 输入数据

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

    create table if not exists pai_dense_10_9 as 
    select  
        age,campaign,pdays,previous,emp_var_rate,cons_price_idx,cons_conf_idx,euribor3m,nr_employed,y
    from bank_data limit 10;
  • 参数配置
    输入数据为pai_dense_10_9选择目标列选择y列,选择特征列选择除y列之外的其他所有列,详细参数配置如下图所示。
    图 1. 字段设置
    字段设置
    图 2. 参数设置
    参数设置
  • 运行结果
    左输出为过滤后的数据,如下表所示。
    pdays nr_employed emp_var_rate cons_conf_idx cons_price_idx y
    999.0 5228.1 1.4 -36.1 93.444 0.0
    999.0 5195.8 -0.1 -42.0 93.2 0.0
    6.0 4991.6 -1.7 -39.8 94.055 1.0
    999.0 5099.1 -1.8 -47.1 93.075 0.0
    3.0 5076.2 -2.9 -31.4 92.201 1.0
    999.0 5228.1 1.4 -42.7 93.918 0.0
    999.0 5099.1 -1.8 -46.2 92.893 0.0
    999.0 5099.1 -1.8 -46.2 92.893 0.0
    3.0 5076.2 -2.9 -40.8 92.963 1.0
    999.0 5099.1 -1.8 -47.1 93.075 0.0
    右输出为特征重要性表,featname存放特征名称,weight表示特征选择方法计算出来的权重。具体表结构如下所示。
    featname weight
    pdays 30.675544191232486
    nr_employed 29.08332850085075
    emp_var_rate 29.08332850085075
    cons_conf_idx 28.02710269740324
    cons_price_idx 28.02710269740324
    euribor3m 27.829058450563718
    age 27.829058450563714
    previous 14.319325030742775
    campaign 10.658129656314467