前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python实现GBDT算法的回归、二分类以及多分类,算法流程解读并可视化

python实现GBDT算法的回归、二分类以及多分类,算法流程解读并可视化

作者头像
机器学习AI算法工程
发布2019-10-28 16:10:48
1.6K0
发布2019-10-28 16:10:48
举报
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

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文件夹,里面包含了每棵树的内部结构和生成日志

结果展示

仅展示最后所有树的集合,具体每棵树的详细信息望读者自行运行代码~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习AI算法工程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运行指南
  • 结果展示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档