全部产品
Search
文档中心

人工智能平台 PAI:过滤式特征选择

更新时间:Feb 27, 2024

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

使用限制

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

组件配置

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

方式一:可视化方式

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

页签

参数

描述

字段设置

选择特征列

输入表中用于训练的特征列。

选择目标列

输入表中选择的目标列名称。

枚举类特征

选中的特征将被视做枚举特征处理,支持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