随机森林特征重要性评估

随机森林特征重要性评估是一种通过分析随机森林模型中各个特征对预测结果贡献程度的方法。通常通过计算每个特征在所有决策树中的平均不纯度减少或基于置换重要性的方法来确定特征的重要性,从而帮助识别对模型性能影响最大的特征。

组件配置

方式一:可视化方式

Designer工作流页面添加随机森林特征重要性评估组件,并在界面右侧配置相关参数:

参数类型

参数

描述

字段设置

选择特征列

输入表中,用于训练的特征列。默认选中除Label外的所有列,为可选项。

选择目标列

该参数为必选项。

参数设置

并行计算核数

并行计算的核心数。

每个核内存大小

每个核的内存大小,单位为MB。

方式二:PAI命令方式

使用PAI命令配置随机森林特征重要性评估组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见场景4:在SQL脚本组件中执行PAI命令

pai -name feature_importance -project algo_public
    -DinputTableName=pai_dense_10_10
    -DmodelName=xlab_m_random_forests_1_20318_v0
    -DoutputTableName=erkang_test_dev.pai_temp_2252_20319_1
    -DlabelColName=y
    -DfeatureColNames="pdays,previous,emp_var_rate,cons_price_idx,cons_conf_idx,euribor3m,nr_employed,age,campaign,poutcome"
    -Dlifecycle=28 ;

参数名称

是否必选

默认值

描述

inputTableName

输入表的名称。

outputTableName

输出表的名称。

labelColName

输入表的标签列名。

modelName

输入的模型名称。

featureColNames

Label外的所有列

输入表选择的特征列。

inputTablePartitions

选择全表

输入表选择的分区名称。

lifecycle

不设置

输出表的生命周期。

coreNum

自动计算

核心数。

memSizePerCore

自动计算

内存数,单位为MB。

使用示例

  1. 使用SQL语句,生成训练数据。

    本文以从bank_data表中选择指定的列和前10条记录创建pai_dense_10_10表为例说明,您可根据实际情况建表。

    drop table if exists pai_dense_10_10;
    create table pai_dense_10_10 as
    select
        age,campaign,pdays, previous, poutcome, emp_var_rate, cons_price_idx, cons_conf_idx, euribor3m, nr_employed, y
    from bank_data limit 10;
  2. 构建如下实验,详情请参见自定义工作流

    y为随机森林的标签列,其它列为特征列。强制转换列选择agecampaign,表示将这两列作为枚举特征处理,其它使用默认参数。算法建模

  3. 运行实验,查看预测结果。结果

  4. 运行完成后,右键单击随机森林特征重要性评估组件,选择可视化分析,查看结果。分析报告