学习C/C++实现的机器学习算法

LightGBM

/data/Project/FrameWork/LightGBM/src/boosting/gbdt.cpp
GBDT::Train

在这里插入图片描述

BinaryLogloss::GetGradients
src/objective/binary_objective.hpp:101

结点分裂的过程:

src/treelearner/feature_histogram.hpp:860打断点

首先根据grad和hess计算新的树

src/boosting/gbdt.cpp:367

在这里插入图片描述

num_leaves=63
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

LGBM支持多种并行模式,如果设置线程数为1,则为 SerialTreeLearner

在这里插入图片描述

并行选特征(左叶子,右叶子)
在这里插入图片描述

论文提到的总直方图 - 小(左)直方图 = 大(右)直方图
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/TQCAI666/article/details/114730700