关于集成学习的总结(二) Bagging思想

Bagging 方法

本篇博客的关于随机森林的优缺点参考了https://blog.csdn.net/zhongjunlang/article/details/79488955

来自上篇投票法的启示,我们想要得到泛化性较强的集成,集成中的分类器应尽可能的相互独立。这个独立可能显示任务中很难做到,于是人们设法给基学习器较大的差异,那么怎么做呢?一种可能的方法就是对基分类器进行采样,让他产生不同的数据子集,再从每一个数据子集中训练出一个基分类器。同时我们还希望基分类器个体的效果不能太差,如果我们采样出来的每个分类器都完全不同,这就让每一个基分类只是用了一小部分数据集,难以充分利用数据集中的信息,所以我们采用了bostrap有放回的采样方法来分割实例。

 

集成算法中,bagging 方法会在原始训练集的随机子集上构建一类黑盒估计器的多个实例,然后把这些估计器的预测结果结合起来形成最终的预测结果。 该方法通过在构建模型的过程中引入随机性,来减少基估计器的方差(例如,决策树)。 在多数情况下,bagging 方法提供了一种非常简单的方式来对单一模型进行改进,而无需修改背后的算法。 因为 bagging 方法可以减小过拟合,所以通常在强分类器和复杂模型上使用时表现的很好(例如,完全决策树,fully developed decision trees),相比之下 boosting 方法则在弱模型上表现更好(例如,浅层决策树,shallow decision trees)。

 

我们用sklearn去实现 bagging 方法做的时候

from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier

bag_clf = BaggingClassifier(
    DecisionTreeClassifier(random_state=42), n_estimators=500,
    max_samples=100, bootstrap=True, n_jobs=-1, random_state=42)
bag_clf.fit(X_train, y_train)
y_pred = bag_clf.predict(X
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值