zoukankan      html  css  js  c++  java
  • GBDT和随机森林的区别

     

    随机森林和GBDT的区别

    1. 随机森林采用的bagging思想,而GBDT采用的boosting思想。这两种方法都是Bootstrap思想的应用,Bootstrap是一种有放回的抽样方法思想。虽然都是有放回的抽样,但二者的区别在于:Bagging采用有放回的均匀取样,而Boosting根据错误率来取样(Boosting初始化时对每一个训练样例赋相等的权重1/n,然后用该算法对训练集训练t轮,每次训练后,对训练失败的样例赋以较大的权重),因此Boosting的分类精度要优于Bagging。Bagging的训练集的选择是随机的,各训练集之间相互独立,弱分类器可并行,而Boosting的训练集的选择与前一轮的学习结果有关,是串行的。
    2. 组成随机森林的树可以是分类树,也可以是回归树;而GBDT只能由回归树组成
    3. 组成随机森林的树可以并行生成;而GBDT只能是串行生成。
    4. 对于最终的输出结果而言,随机森林采用多数投票等;而GBDT则是将所有结果累加起来,或者加权累加起来。
    5. 随机森林对异常值不敏感;GBDT对异常值非常敏感。
    6. 随机森林对训练集一视同仁;GBDT是基于权值的弱分类器的集成。
    7. 随机森林是通过减少模型方差提高性能;GBDT是通过减少模型偏差提高性能。

    随机森林

    优点:

    1. 实现简单,训练速度快,泛化能力强,可以并行实现,因为训练时树与树之间是相互独立的;
    2. 相比单一决策树,能学习到特征之间的相互影响,且不容易过拟合;
    3. 能处理高维数据(即特征很多),并且不用做特征选择,因为特征子集是随机选取的;
    4. 对于不平衡的数据集,可以平衡误差;
    5. 相比SVM,不是很怕特征缺失,因为待选特征也是随机选取;
    6. 训练完成后可以给出哪些特征比较重要。

    缺点:

    1. 在噪声过大的分类和回归问题还是容易过拟合;
    2. 相比于单一决策树,它的随机性让我们难以对模型进行解释。

    GBDT

    优点:适用面广,离散或连续的数据都可以处理,几乎可用于所有回归问题(线性/非线性),亦可用于二分类问题(设定阈值,大于阈值为正例,反之为负例)

    缺点:由于弱分类器的串行依赖,导致难以并行训练数据。

    引自:https://blog.csdn.net/qq_14997473/article/details/88877198

  • 相关阅读:
    Apache 的 ab 压测工具快速使用
    Go_22: Golang 命令行 test 应用
    Go_21: Golang 中 time 包的使用二
    ElasticStack系列之十八 & ElasticSearch5.x XPack 过期新 License 更新
    Go 语言编程规范
    ElasticStack系列之十七 & 大文本搜索性能提升方案
    ElasticStack系列之十六 & ElasticSearch5.x index/create 和 update 源码分析
    ElasticStack系列之十五 & query cache 引起性能问题思考
    golang 配置文件读取
    pandoc安装
  • 原文地址:https://www.cnblogs.com/lyp1010/p/14060019.html
Copyright © 2011-2022 走看看