Sklearn文档 1.11Ensemble methods--Bagging meta-estimator

1.11.1. Bagging meta-estimator

(鉴于本人觉得中文文档中的部分翻译不够清晰,所以修改如下)

在集成算法中,bagging 方法形成一类算法,它在原始训练集的随机子集上构建黑盒估计器的多个实例,然后将它们各自的预测集合起来形成最终预测。这些方法被用来作为一种减少基本估计量(例如,一个决策树)的方差的方法,方法是在其构造过程中引入随机化,然后将其做成一个集合。在许多情况下,bagging 方法是相对于单个模型进行改进的一种非常简单的方法,不需要修改底层的基本算法。因为它们提供了一种减少过拟合的方法,所以bagging 方法在强而复杂的模型(如完全开发的决策树)中工作得最好,而在弱模型(如浅决策树)中工作得最好的方法是增强方法。

bagging 方法有多种风格,但它们之间的区别主要在于它们随机抽取训练集的子集的方式:

  • 如果抽取的数据集的随机子集是样例的随机子集,那么这种算法称为Pasting。
  • 如果样例抽取是有放回的,那么这种算法称为 Bagging。
  • 如果抽取的数据集的随机子集是特征的随机子集,那么这种算法称为Random Subspaces。
  • 最后,如果基估计器构建在样例和特征两者的子集之上时,那么这种算法称为Random Patches。

在 scikit-learn 中,bagging 方法使用统一的 BaggingClassifier 元估计器(或者 BaggingRegressor ),基估计器和随机子集抽取策略由用户指定。max_samples 和 max_features 控制着子集的大小(对于样例和特征), bootstrap 和 bootstrap_features 控制着样例和特征的抽取是有放回还是无放回的。 当使用样本子集时,通过设置 oob_score=True ,可以使用袋外(out-of-bag)样本来评估泛化精度。下面的代码片段说明了如何构造一个 KNeighborsClassifier 估计器的 bagging 集成实例,每一个基估计器都建立在 50% 的样本随机子集和 50% 的特征随机子集上。

from sklearn.ensemble import BaggingClassifier
from sklearn.neighbors import KNeighborsClassifier
bagging = BaggingClassifier(KNeighborsClassifier(),
                            max_samples=0.5, max_features=0.5)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值