当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn BaggingClassifier用法及代码示例


本文简要介绍python语言中 sklearn.ensemble.BaggingClassifier 的用法。

用法:

class sklearn.ensemble.BaggingClassifier(base_estimator=None, n_estimators=10, *, max_samples=1.0, max_features=1.0, bootstrap=True, bootstrap_features=False, oob_score=False, warm_start=False, n_jobs=None, random_state=None, verbose=0)

Bagging 分类器。

Bagging 分类器是一个集合meta-estimator,它将每个基分类器拟合到原始数据集的随机子集上,然后聚合它们各自的预测(通过投票或通过平均)以形成最终预测。这样的meta-estimator 通常可以用作减少black-box 估计器(例如决策树)方差的方法,方法是在其构造过程中引入随机化,然后对其进行集成。

该算法包含文献中的几部作品。当数据集的随机子集被抽取为样本的随机子集时,该算法称为粘贴[1]。如果通过放回抽取样本,则该方法称为 Bagging [2]。当数据集的随机子集被绘制为特征的随机子集时,该方法称为随机子空间[3]。最后,当基础估计量建立在样本和特征的子集上时,该方法称为随机补丁 [4]。

在用户指南中阅读更多信息。

参数

base_estimator对象,默认=无

适合数据集随机子集的基本估计器。如果无,则基本估计量是 DecisionTreeClassifier

n_estimators整数,默认=10

集成中基本估计器的数量。

max_samplesint 或浮点数,默认=1.0

从 X 中抽取以训练每个基本估计器的样本数(默认情况下有替换,有关更多详细信息,请参阅bootstrap)。

  • 如果是 int,则绘制 max_samples 样本。
  • 如果浮点数,则绘制 max_samples * X.shape[0] 样本。
max_featuresint 或浮点数,默认=1.0

从 X 中提取以训练每个基本估计器的特征数量(默认情况下不替换,有关更多详细信息,请参阅bootstrap_features)。

  • 如果是 int,则绘制 max_features 特征。
  • 如果浮点数,则绘制max_features * X.shape[1] 特征。
bootstrap布尔,默认=真

是否有放回抽取样本。如果为 False,则执行无放回抽样。

bootstrap_features布尔,默认=假

是否使用替换绘制特征。

oob_score布尔,默认=假

是否使用out-of-bag 个样本来估计泛化误差。仅当 bootstrap=True 时可用。

warm_start布尔,默认=假

当设置为 True 时,重用上一次调用的解决方案来拟合并将更多的估计器添加到集成中,否则,只需拟合一个全新的集成。请参阅词汇表。

n_jobs整数,默认=无

fitpredict 并行运行的作业数。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有处理器。有关更多详细信息,请参阅术语表。

random_stateint、RandomState 实例或无,默认=无

控制原始数据集的随机重采样(样本和特征)。如果基本估计器接受random_state 属性,则会为集成中的每个实例生成不同的种子。传递 int 以获得跨多个函数调用的可重现输出。请参阅词汇表。

verbose整数,默认=0

控制拟合和预测时的详细程度。

属性

base_estimator_估计器

生成集成的基本估计量。

n_features_int

已弃用:属性 n_features_ 在版本 1.0 中已弃用,并将在 1.2 中删除。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

estimators_估算器列表

拟合基础估计器的集合。

estimators_samples_数组列表

每个基本估计器的抽取样本的子集。

estimators_features_数组列表

每个基本估计器的绘制特征的子集。

classes_ndarray 形状 (n_classes,)

类标签。

n_classes_int 或列表

类的数量。

oob_score_浮点数

使用out-of-bag 估计获得的训练数据集的分数。此属性仅在oob_score 为 True 时存在。

oob_decision_function_ndarray 形状(n_samples,n_classes)

使用 out-of-bag 估计训练集计算的决策函数。如果 n_estimators 很小,则可能在引导期间从未遗漏数据点。在这种情况下,oob_decision_function_ 可能包含 NaN。此属性仅在oob_score 为 True 时存在。

参考

1

L. Breiman,“在大型数据库和on-line 中为分类粘贴小票”,机器学习,36(1), 85-103, 1999。

2

L. Breiman,“Bagging predictors”,机器学习,24(2), 123-140, 1996。

3

T. Ho,“构建决策森林的随机子空间方法”,模式分析和机器智能,20(8),832-844,1998。

4

G. Louppe 和 P. Geurts,“随机补丁上的集合”,数据库中的机器学习和知识发现,346-361,2012。

例子

>>> from sklearn.svm import SVC
>>> from sklearn.ensemble import BaggingClassifier
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_samples=100, n_features=4,
...                            n_informative=2, n_redundant=0,
...                            random_state=0, shuffle=False)
>>> clf = BaggingClassifier(base_estimator=SVC(),
...                         n_estimators=10, random_state=0).fit(X, y)
>>> clf.predict([[0, 0, 0, 0]])
array([1])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.ensemble.BaggingClassifier。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。