向AI转型的程序员都关注了这个号
机器学习AI算法工程 公众号:datayx
GBDT 的全称是 Gradient Boosting Decision Tree,梯度提升树,在传统机器学习算法中,GBDT算的上TOP3的算法。想要理解GBDT的真正意义,那就必须理解GBDT中的Gradient Boosting 和Decision Tree分别是什么?
首先,GBDT使用的决策树是CART回归树,无论是处理回归问题还是二分类以及多分类,GBDT使用的决策树通通都是都是CART回归树。为什么不用CART分类树呢?因为GBDT每次迭代要拟合的是梯度值,是连续值所以要用回归树。
对于回归树算法来说最重要的是寻找最佳的划分点,那么回归树中的可划分点包含了所有特征的所有可取的值。在分类树中最佳划分点的判别标准是熵或者基尼系数,都是用纯度来衡量的,但是在回归树中的样本标签是连续数值,所以再使用熵之类的指标不再合适,取而代之的是平方误差,它能很好的评判拟合程度。
算法原理以及公式推导请前往blog:
https://blog.csdn.net/weixin_41194171/article/details/85042720
https://blog.csdn.net/zpalyq110/article/details/79527653
项目地址
关注微信公众号 datayx 然后回复GBDT 即可获取。
AI项目体验地址 https://loveai.tech
运行指南
回归测试:
python example.py --model = regression
二分类测试:
python example.py --model = binary_cf
多分类测试:
python example.py --model = multi_cf
其他可配置参数:lr -- 学习率, trees -- 构建的决策树数量即迭代次数,
depth -- 决策树的深度,
count -- 决策树节点分裂的最小数据数量,
is_log -- 是否打印树的生成过程,
is_plot -- 是否可视化树的结构.
结果文件:运行后会生成results文件夹,里面包含了每棵树的内部结构和生成日志
结果展示
仅展示最后所有树的集合,具体每棵树的详细信息望读者自行运行代码~
阅读过本文的人还看了以下:
不断更新资源
深度学习、机器学习、数据分析、python
搜索公众号添加:datayx
长按图片,识别二维码,点关注
AI项目体验
https://loveai.tech