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

功能介绍

离散模块的功能如下:
  • 支持稠密数值类特征离散。
  • 支持等频离散和等距离离散等无监督离散。
    说明 无监督离散的特征离散默认为等距离离散。
  • 支持基于Gini增益离散和基于熵增益离散等有监督离散。
    说明 标签类特征离散必须是枚举类型STRING或BIGINT类型。
特征离散预测可以使用特征工程目录下的特征模型预测组件。详细的建模DAG图如下所示。特征预测
说明
  • 您必须使用相同的离散模型做特征离散预测,才能保证特征对齐。
  • 有监督离散是根据熵增益不断遍历寻找切分断点,运行时间可能比较久。切分得到的分区数不受指定的maxBins参数限制。

参数配置

PAI-Studio支持通过可视化或PAI命令的方式,配置该组件参数,如下所示:
  • 可视化方式
    页签 参数 描述
    字段设置 离散的特征 选择需要离散的特征。如果选择的是稀疏特征,则系统会自动筛选。
    标签列 如果您设置了该字段,则可以通过可视化方式查看特征到目标变量的x-y分布直方图。
    参数设置 离散方法 离散方法。取值如下:
    • Isometric Discretization(等距离散)
    • Isofrequecy Discretization(等频离散)
    • Gini-gain-based Discretization(基于Gini增益离散)
    • Entropy-gain-based Discretization(基于熵增益离散)
    离散区间 离散区间大小。取值为大于1的正整数。
    执行调优 计算核心数 计算的核心数目,取值为正整数。
    每个核心内存 每个CPU分配的内存大小。
  • PAI命令方式
    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分布直方图。
    categoryCols 将勾选的字段作为枚举特征处理,并且不支持离散。 默认为空
    discreteMethod 离散方法。取值如下:
    • Isometric Discretization(等距离散)
    • Isofrequecy Discretization(等频离散)
    • Gini-gain-based Discretization(基于Gini增益离散)
    • Entropy-gain-based Discretization(基于熵增益离散)
    Isometric Discretization
    discreteTopN 当未勾选discreteCols参数时,系统自动挑选TopN个需要离散的特征。取值为正整数。 10
    maxBins 离散区间大小。取值为大于1的正整数。 100
    isSparse 是否为k:v的稀疏特征,取值如下:
    • true
    • false

    默认为稠密数据。

    false
    itemSpliter 稀疏特征item的分隔符。 ,
    kvSpliter 稀疏特征item的分隔符。
    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