改进
直方图算法(Histogram)
根据直方图中的离散值,遍历寻找最优分割点:
把连续的浮点特征离散 -> k个整数 -> 宽为k的直方图
遍历,离散化的值作为索引,在直方图中累积统计量
加速
- 叶子 = 父 - 兄弟 (直方图做差)
- Leaf-wise带深度限制的叶子生长策略
- 支持categorical feature
并行
- feature parallel:每个worker中有所有feature数据,本地split
- data parallel:只汇总不同worker的不同feature的直方图,在汇总的直方图上split
带深度限制的Leaf-wise
- Level-wise (GBDT, XGB):一次分裂同一层的叶子,易多线程优化,不易过拟合;但很多叶子分裂增益低,存在不必要的搜索和分裂
- Leaf-wise:从所有叶子中找Gain最大的叶子进行分裂,但易过拟合 -> 增加最大深度限制