GBDT二分类V2

梯度提升决策树 (Gradient Boosting Decision Trees) 二分类,是经典的基于梯度提升(Gradient Boosting)的有监督学习模型,可以用来解决二分类问题。

支持计算资源

支持的计算引擎为MaxCompute。

算法简介

梯度提升决策树 (Gradient Boosting Decision Trees) 二分类,是经典的基于梯度提升(Gradient Boosting)的有监督学习模型,可以用来解决二分类问题。

算法原理

梯度提升决策树模型构建了一个由多棵决策树组成的组合模型。每一棵决策树对应一个弱学习器,将这些弱学习器组合在一起,可以达到比较好的分类或回归效果。

梯度提升的基本递推结构为:

image

其中,image通常为一棵 CART 决策树,image为决策树的参数,image为步长。第m棵决策树在前m-1棵决策树的基础上对目标函数进行优化。最终得到包含若干棵决策树的模型。

算法使用

该算法实现中包含了XGBoost提出的二阶梯度优化目标以及LightGBM的直方图近似计算。对于一些常见的二分类问题,都可以使用这个算法解决,模型拥有较好的性能,且拥有不错的可解释性。

该算法支持稀疏向量格式与多列特征格式的输入。输入为稀疏向量格式时,仅能选择1String类型的列,每条数据是以单个空格为分隔符的键值对,键值之间用冒号分隔,例如:1:0.3 3:0.9。输入为多列特征时,可以选择多个Double、BigintString的列,包括了数值型特征(numerical feature)与类别型特征(categorical feature)。对于数值型特征,算法会对数据进行分箱操作;对于类别型特征,不需要提前进行OneHot预处理,算法会使用 many-vs-many 的分裂策略。

该算法要求二分类的类别必须为01。

当该组件与GBDT二分类预测V2组件成对执行完成后,训练得到的模型支持部署为在线服务,详细操作可以参考Pipeline部署在线服务

可视化配置参数

输入桩配置

输入桩(从左到右)

限制数据类型

建议上游组件

是否必选

输入数据

读数据表

组件参数

页签

参数

是否必选

描述

默认值

字段设置

是否为稀疏向量格式

输入表中用于训练的特征列是否为稀疏向量格式。在稀疏向量格式中,每条数据是以单个空格为分隔符的键值对,键值之间用冒号分隔,例如:1:0.3 3:0.9

选择特征列

输入表中用于训练的特征列名数组。非稀疏向量格式时,支持类型double/bigint/string;稀疏向量格式时,支持string类型,并且只能选择1列。

选择类别型特征列

非稀疏向量格式,选择作为类别型特征(categorical feature)处理的列,其他列作为数值型特征处理。

选择标签列

输入表中用于训练的标签列名。

选择权重列

输入表中用于训练的权重列名。

参数设置

树的数目

模型中树的棵数。

1

最大叶节点数

训练每棵树时,最多包含的叶节点个数。

32

学习速率

学习率。

0.05

训练样本比例

训练每棵树时,样本的采样比例,范围为 (0, 1]。

0.6

训练特征比例

训练每棵树时,特征的采样比例,范围为 (0, 1]。

0.6

叶节点最少样本数

训练每个树时,各个叶子节点至少包含的样本数量。

500

最大分箱个数

连续特征进行离散分箱时的最大分箱个数。该值越大,进行节点分裂时越精确,但计算代价越大。

32

最多类别数

类别型特征最多允许的类别个数:对于一个类别型特征,所有出现的值按频率从高到低排序后,序位多于该值的类别将合并到一个桶中。该值越大,进行节点分裂时越精确,但也更容易过拟合,计算代价也越大。

1024

特征数量

稀疏特征时,填写最大特征ID+1;不填写时需要扫描一遍数据计算。

根据输入数据自动计算

全局偏置项

初始预测为正样本的概率值;不填写时需要扫描一遍数据进行预估。

根据输入数据自动计算

随机数产生器种子

随机种子,用于采样。

0

执行调优

底层作业使用的计算资源

底层作业使用的计算资源:

  • MaxCompute

  • Flink

MaxCompute

节点数

执行作业的节点数。

根据输入数据自动计算

每节点内存

节点所使用的内存数,单位为MB。

根据输入数据自动计算

线程数

使用多线程加速计算,但成本也更高;一般情况下,随着线程数的增加,性能会先上升后下降;请谨慎调整线程数。

1

输出桩说明

输出桩

存储位置

下游建议组件

数据类型

模型输出

不需要配置

GBDT二分类预测V2

MaxCompute

特征重要性输出

不需要配置

MaxCompute

PS-SMART二分类对比

如果您之前使用PS-SMART二分类训练组件遇到了一些问题不容易解决,那么可以尝试使用GBDT二分类V2组件。两个组件当前的功能和参数支持情况,见下表:

PS-SMART二分类参数

对应本组件的参数

是否稀疏格式

是否为稀疏向量格式

选择特征列

选择特征列

选择标签列

选择标签列

选择权重列

选择权重列

评估指标类型

不适用,默认为 AUC 指标,可以在 worker 日志中查看。

树数量

树的数目

树最大深度

最大叶节点数:换算公式为:2^( 树最大深度- 1)

数据采样比例

训练样本比例

特征采样比例

训练特征比例

L1惩罚项系数

暂不支持。

L2惩罚项系数

暂不支持。

学习速率

学习速率

近似Sketch精度

最大分箱个数:换算公式为:1/近似Sketch精度

最小分裂损失变化

叶节点最少样本数:两者不能直接换算,但都可用于控制过拟合。

特征数量

特征数量

全局偏置项

全局偏置项

随机数产生器种子

随机数产生器种子

特征重要性类型

不适用,当前默认为信息增益。

计算核心数

节点数:不能直接使用相同数值,推荐先试用系统自动分配,然后进行细调。

每个核内存大小

每节点内存:不能直接使用相同数值,推荐先试用系统自动分配,然后进行细调。