通过分箱组件可以进行特征离散化,即将连续的数据进行分段,使其变为多个离散化区间。分箱组件支持等频分箱、等宽分箱及自动分箱。

配置组件

您可以使用以下任意一种方式,配置分箱组件参数。

方式一:可视化方式

在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
页签 参数 描述
字段设置 特征列 支持STRING、BIGINT及DOUBLE类型。
标签列 仅支持二分类。
正例值 仅当标签列存在时才生效。
选择分箱的参数来源 参数来源支持“参数设置”中的参数手动分箱或自定义Json。
是否保留没有在“特征列”中选择的字段 使用自定义分箱时,如果该参数选择,则未在特征列中选择的字段会原样保留,否则会删除未选择的字段。
上传分箱和约束Json 选择分箱的参数来源取值为手动分箱或自定义Json时,该参数生效。
参数设置 分箱个数 配置为10,表示将连续特征离散化至10个区间中。
自定义列分箱个数

可以指定单个或多个字段的分箱数,会覆写总的分箱个数。如果自定义的列不在字段选择中,则多出的列也会进行计算。例如,字段选择为col0col1, 自定义分箱为col0:3,col2:5,当分箱个数为10时,那么按照col0:3,col1:10,col2:5进行计算。

取值格式为:字段名1:分箱个数, 字段名2:分箱个数

自定义离散值个数阈值 格式为col0:3
区间选择 支持左开右闭左闭右开区间。
分箱方式 支持等频等宽自动分箱
离散值个数阈值 如果小于该值,则分到“其它”分箱。
执行调优 核心数 默认系统自动分配。
每个核分配的内存数 默认系统自动分配。

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本
PAI -name binning
    -project algo_public
    -DinputTableName=input
    -DoutputTableName=output
参数 描述 是否必选 默认值
inputTableName 输入表的名称。
outputTableName 输出表的名称。
selectedColNames 输入表选择分箱的列。 除Label外的其他列,如果无Label,则选择全部。
labelColName Label所在的列。
validTableName 表示binningMethod为auto时输入的验证表名。在auto模式下,该参数为必选。
validTablePartitions 验证表选择的分区。 全表
inputTablePartitions 输入表选择的分区。 全表
inputBinTableName 输入的分箱表。
selectedBinColNames 分箱表选择的列。
positiveLabel 输出正样本的分类。 1
nDivide 分箱的个数,取值为正整数。 10
colsNDivide 自定义列的分箱个数,例如col0:3,col2:5。如果colsNDivide中选中的列不在selectedColNames中,则多出的列也会进行计算。例如,selectedColNamescol0,col1colsNDividecol0:3,col2:5nDivide为10时,则按照col0:3,col1:10,col2:5进行计算。
isLeftOpen 选择区间为左开右闭或左闭右开,取值包括为:
  • {true}:左开右闭。
  • {false}:左闭右开。
true
stringThreshold 离散值为其他分箱的阈值。
colsStringThreshold 自定义列的阈值,同colsNDivide
binningMethod 分箱类型,取值包括:
  • quantile:等频分箱。
  • bucket:等宽分箱。
  • auto:当在quantile模式时,自动选择单调性的分箱。
quantile
lifecycle 输出表的生命周期,取值为正整数。
coreNum 核心数,取值为正整数。 系统自动计算
memSizePerCore 内存数,取值为正整数。 系统自动计算
分箱约束功能需要与评分卡训练组件配合使用。在评分卡训练过程中通过分箱进行特征工程,将特征离散化生成Dummy变量,并对训练过程中的每个Dummy变量的权重增加一定约束。各个约束项的含义如下:
  • 顺序升序约束:该特征的各个Dummy变量按照Index从小到大添加权重上升的约束,即Index越大,权重越大。
  • 顺序降序约束:该特征的各个Dummy变量按照Index从小到大添加权重下降的约束,即Index越大,权重越小。
  • 相等权重值:该特征两个Dummy变量的权重值相等的约束。
  • 权重值为0:该特征某个Dummy变量的权重值为0的约束。
  • 等于固定权重值:该特征某个Dummy变量的权重值等于固定浮点数值的约束。
  • WOE值顺序约束:该特征各个Dummy变量按照WOE值从小到大添加权重上升的约束,即WOE值越大,权重值越大。

结果演示

  1. 使用分箱组件的工作流运行结束后,右键单击画布中的分箱组件,在快捷菜单,单击我要分箱
  2. 在变量列表页面,您可以查看每个变量的分箱数类型IV等信息,具体如下图所示。分箱变量
  3. 单击变量的名称(以f1为例),可以打开f1-分箱详情页面,该页面详情如下图所示。
    您可以在该页面对分箱进行合并拆分,也可以对分箱增加约束。
    说明 约束仅对后续的评分卡训练模块有效,如果仅使用分箱,不使用评分卡训练,则可以忽略约束项。
    分箱详情