参考
[https://blog.csdn.net/anshuai_aw1/article/details/83040541]
lightgbm的一大优化是直方图算法,下面介绍下直方图算法的流程。
流程
在对节点进行训练的过程中,需要将特征值转化为bin_value,在该过程中的bin_value保持不变。
整个训练分为4步:
- 对每个节点遍历所有特征;
- 对节点遍历所有特征,为每个特征构建直方图,每个直方图中应该保存该直方图中样本的梯度和和样本数;
- 遍历所有特征,将梯度和和样本数统计进入直方图中;
- 对特征遍历直方图,分别以当前bin为划分点,得到划分结果,同时根据父节点和叶子节点相减得到另一个兄弟节点的直方图结果。