特征离散算法组件是将连续特征按照一定的规则进行离散化。
功能介绍
离散模块的功能如下:
支持稠密数值类特征离散。
支持等频离散和等距离离散等无监督离散。
说明无监督离散的特征离散默认为等距离离散。
支持基于Gini增益离散和基于熵增益离散等有监督离散。
说明标签类特征离散必须是枚举类型STRING或BIGINT类型。
有监督离散是根据熵增益不断遍历寻找切分断点,运行时间可能比较久。切分得到的分区数不受指定的maxBins参数限制。
参数配置
您可以使用以下任意一种方式,配置特征离散组件参数。
方式一:可视化方式
在Designer工作流页面配置组件参数。
页签 | 参数 | 描述 |
字段设置 | 离散的特征 | 选择需要离散的特征。 |
标签列 | 如果您设置了该字段,则可以通过可视化方式查看特征到目标变量的x-y分布直方图。 | |
参数设置 | 离散方法 | 离散方法。取值如下:
推荐使用等距离散、等频离散。基于Gini增益离散、基于熵增益离散这两个功能可以理解为实验性质,如果是需要WOE指标的话,可以查看分箱这个组件。 |
离散区间个数 | 离散区间的个数。取值为大于1的正整数。 | |
执行调优 | 计算核心数 | 计算的核心数目,取值为正整数。 |
每个核心内存 | 每个CPU分配的内存大小。 |
方式二:PAI命令方式
使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本。
PAI -name fe_discrete_runner_1 -project algo_public
-DdiscreteMethod=SameFrequecy
-Dlifecycle=28
-DmaxBins=5
-DinputTable=pai_dense_10_1
-DdiscreteCols=nr_employed
-DoutputTable=pai_temp_2262_20382_1
-DmodelTable=pai_temp_2262_20382_2;
参数名称 | 是否必选 | 参数描述 | 默认值 |
inputTable | 是 | 输入表的表名称。 | 无 |
inputTablePartitions | 否 | 输入表中指定参与训练的分区,格式为 如果是多级分区,格式为 如果指定多个分区,则需要使用,隔开。 | 输入表的所有分区。 |
outputTable | 是 | 离散后的结果表。 | 无 |
discreteCols | 是 | 选择需要离散的特征。如果选择的是稀疏特征,则系统会自动筛选。 | “” |
labelCol | 否 | 标签字段。如果您设置了该字段,则可以通过可视化方式查看特征到目标变量的x-y分布直方图。 | 无 |
discreteMethod | 否 | 离散方法。取值如下:
| Isometric Discretization |
maxBins | 否 | 离散区间个数。取值为大于1的正整数。 | 100 |
lifecycle | 否 | 结果表生命周期。取值为正整数。 | 7 |
coreNum | 否 | 节点个数。与memSizePerCore参数配对使用,取值为正整数。 | 系统自动分配。 |
memSizePerCore | 否 | 单个节点内存大小,单位为兆。取值为正整数。 | 系统自动分配。 |
示例
输入数据
使用 SQL生成输入数据。
create table if not exists pai_dense_10_1 as select nr_employed from bank_data limit 10;
参数配置
输入数据为pai_dense_10_1。离散特征选择nr_employed,离散方法选择等距离散,离散区间个数配置为5。
运行结果
nr_employed
4.0
3.0
1.0
3.0
2.0
4.0
3.0
3.0
2.0
3.0