专栏首页机器学习AI算法工程python实现GBDT算法的回归、二分类以及多分类,算法流程解读并可视化

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

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

结果展示

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

本文分享自微信公众号 - 机器学习AI算法工程(datayx)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习之决策树(下)

    这就是所谓的过拟合,当深度越深,分的次数越多,训练集的错误率还ok,但是在测试集就完了。

    用户6029108
  • 关联分割点云中的实例和语义

    Xinlong Wang 1 Shu Liu 2 Xiaoyong Shen 2 Chunhua Shen 1 Jiaya Jia 2,3

    点云PCL博主
  • 「首席架构师推荐」深度学习软件比较

    深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目...

    首席架构师智库
  • 一文综述数据科学家应该了解的5个图算法

    在互联世界中,用户不是独立的实体,它们彼此之间具有一定的关系,我们有时在构建机器学习模型时就包括这些关系。

    磐创AI
  • 了解1D和3D卷积神经网络|Keras

    当我们说卷积神经网络(CNN)时,通常是指用于图像分类的2维CNN。但是,现实世界中还使用了其他两种类型的卷积神经网络,即1维CNN和3维CNN。在本指南中,我...

    磐创AI
  • 聊天机器人实战教程 | PyTorch专栏

    在本教程中,我们探索一个好玩有趣的循环的序列到序列(sequence-to-sequence)的模型用例。我们将用Cornell Movie-Dialogs C...

    磐创AI
  • Generative Adversarial Networks

    上一篇讲述了VAEs(变分自编码器),那么这次继续学习一下另一个生成模型——GANs。这里建议如果没有看VAEs的请点击传送门:,因为有所关联,所以如果直接看这...

    可爱见见
  • 理解卷积神经网络中的输入与输出形状 | 视觉入门

    即使我们从理论上理解了卷积神经网络,在实际进行将数据拟合到网络时,很多人仍然对其网络的输入和输出形状(shape)感到困惑。本文章将帮助你理解卷积神经网络的输入...

    磐创AI
  • 机器学习领域必知必会的12种概率分布(附Python代码实现)

    机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,...

    Datawhale
  • 九张图带你感受AI态势

    如今,AI炒得很热,但AI到底发展到了哪一步,很难看清。好在近日,一群AI政策研究人员发布了一份报告,披露了大量数据,有助于我们认清这股热潮的发展状态。

    陆勤_数据人网

扫码关注云+社区

领取腾讯云代金券