特征离散

特征离散算法组件是将连续特征按照一定的规则进行离散化。

功能介绍

离散模块的功能如下:

  • 支持稠密数值类特征离散。

  • 支持等频离散和等距离离散等无监督离散。

    说明

    无监督离散的特征离散默认为等距离离散。

  • 支持基于Gini增益离散和基于熵增益离散等有监督离散。

    说明

    标签类特征离散必须是枚举类型STRINGBIGINT类型。

  • 有监督离散是根据熵增益不断遍历寻找切分断点,运行时间可能比较久。切分得到的分区数不受指定的maxBins参数限制。

参数配置

您可以使用以下任意一种方式,配置特征离散组件参数。

方式一:可视化方式

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

页签

参数

描述

字段设置

离散的特征

选择需要离散的特征。

标签列

如果您设置了该字段,则可以通过可视化方式查看特征到目标变量的x-y分布直方图。

参数设置

离散方法

离散方法。取值如下:

  • Isometric Discretization(等距离散)

  • Isofrequecy Discretization(等频离散)

  • Gini-gain-based Discretization(基于Gini增益离散)

  • Entropy-gain-based Discretization(基于熵增益离散)

离散区间个数

离散区间的个数。取值为大于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

输入表中指定参与训练的分区,格式为Partition_name=value

如果是多级分区,格式为name1=value1/name2=value2;

如果指定多个分区,则需要使用,隔开。

输入表的所有分区。

outputTable

离散后的结果表。

discreteCols

选择需要离散的特征。如果选择的是稀疏特征,则系统会自动筛选。

“”

labelCol

标签字段。如果您设置了该字段,则可以通过可视化方式查看特征到目标变量的x-y分布直方图。

discreteMethod

离散方法。取值如下:

  • Isometric Discretization(等距离散)

  • Isofrequecy Discretization(等频离散)

  • Gini-gain-based Discretization(基于Gini增益离散)

  • Entropy-gain-based Discretization(基于熵增益离散)

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