随机森林和GBDT的区别
- 随机森林采用的bagging思想,而GBDT采用的boosting思想。这两种方法都是Bootstrap思想的应用,Bootstrap是一种有放回的抽样方法思想。虽然都是有放回的抽样,但二者的区别在于:Bagging采用有放回的均匀取样,而Boosting根据错误率来取样(Boosting初始化时对每一个训练样例赋相等的权重1/n,然后用该算法对训练集训练t轮,每次训练后,对训练失败的样例赋以较大的权重),因此Boosting的分类精度要优于Bagging。Bagging的训练集的选择是随机的,各训练集之间相互独立,弱分类器可并行,而Boosting的训练集的选择与前一轮的学习结果有关,是串行的。
- 组成随机森林的树可以是分类树,也可以是回归树;而GBDT只能由回归树组成。
- 组成随机森林的树可以并行生成;而GBDT只能是串行生成。
- 对于最终的输出结果而言,随机森林采用多数投票等;而GBDT则是将所有结果累加起来,或者加权累加起来。
- 随机森林对异常值不敏感;GBDT对异常值非常敏感。
- 随机森林对训练集一视同仁;GBDT是基于权值的弱分类器的集成。
- 随机森林是通过减少模型方差提高性能;GBDT是通过减少模型偏差提高性能。
随机森林
优点:
- 实现简单,训练速度快,泛化能力强,可以并行实现,因为训练时树与树之间是相互独立的;
- 相比单一决策树,能学习到特征之间的相互影响,且不容易过拟合;
- 能处理高维数据(即特征很多),并且不用做特征选择,因为特征子集是随机选取的;
- 对于不平衡的数据集,可以平衡误差;
- 相比SVM,不是很怕特征缺失,因为待选特征也是随机选取;
- 训练完成后可以给出哪些特征比较重要。
缺点:
- 在噪声过大的分类和回归问题还是容易过拟合;
- 相比于单一决策树,它的随机性让我们难以对模型进行解释。
GBDT
优点:适用面广,离散或连续的数据都可以处理,几乎可用于所有回归问题(线性/非线性),亦可用于二分类问题(设定阈值,大于阈值为正例,反之为负例)
缺点:由于弱分类器的串行依赖,导致难以并行训练数据。
引自:https://blog.csdn.net/qq_14997473/article/details/88877198