mars.learn.ensemble.BaggingRegressor#
- class mars.learn.ensemble.BaggingRegressor(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, reducers=1.0)[来源]#
一个袋装回归器。
Bagging 回归器是一种集成元估计器,它在原始数据集的随机子集上拟合基本回归器,然后通过投票或平均来聚合它们的个体预测,以形成最终预测。这种元估计器通常可以用作降低一个黑箱估计器(例如,决策树)方差的方式,通过在其构造过程中引入随机性,然后将其组合成一个集成。
该算法涵盖了文献中的几个工作。当从数据集中随机抽取子集作为样本的随机子集时,该算法被称为 Pasting 1。如果样本是通过替换抽取的,则该方法被称为 Bagging 2。当从数据集中随机抽取子集作为特征的随机子集时,该方法被称为 Random Subspaces 3。最后,当基础估计器是在样本和特征的子集上构建时,该方法被称为 Random Patches 4。
在用户指南中阅读更多内容。
- Parameters
base_estimator (object, default=None) – 基础估计器,用于在数据集的随机子集上拟合。如果为 None,则基础估计器为
DecisionTreeRegressor。n_estimators (int, default=10) – 集成中的基本估计器数量。
max_samples (int 或 float, 默认值=1.0) –
从X中抽取的样本数量,用于训练每个基础估计器(默认情况下是有替换的,更多细节请参见bootstrap)。
如果是int,则抽取max_samples个样本。
如果是float,则抽取max_samples * X.shape[0]个样本。
max_features (int 或 float, 默认值=1.0) –
从 X 中抽取用于训练每个基估计器的特征数量(默认情况下不进行替换,更多细节请参见 bootstrap_features)。
如果是 int,则抽取 max_features 个特征。
如果是 float,则抽取 max_features * X.shape[1] 个特征。
bootstrap (bool, default=True) – 是否进行有放回抽样。如果为 False,则执行无放回抽样。
bootstrap_features (bool, default=False) – 是否在抽样特征时允许重复抽样。
warm_start (bool, default=False) – 设置为 True 时,重用上一次调用 fit 的解,并向集成中添加更多的估计器;否则,只是拟合一个全新的集成。请参见 词汇表。
random_state (int, RandomState 实例 或 无, 默认=None) – 控制原始数据集的随机重采样(样本和特征)。 如果基础估计器接受 random_state 属性,则为集合中的每个实例生成不同的种子。 传递一个整数以便在多个函数调用中获得可重复的输出。 请参阅 术语表。
- base_estimator_#
从中生长集成的基础估计器。
- Type
估计器
另请参阅
BaggingClassifier一个Bagging分类器。
参考文献
- 1
L. Breiman, “在大型数据库和在线环境中进行小投票分类”,机器学习,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 SVR >>> from mars.learn.ensemble import BaggingRegressor >>> from mars.learn.datasets import make_regression >>> X, y = make_regression(n_samples=100, n_features=4, ... n_informative=2, n_targets=1, ... random_state=0, shuffle=False) >>> regr = BaggingRegressor(base_estimator=SVR(), ... n_estimators=10, random_state=0).fit(X, y) >>> regr.predict([[0, 0, 0, 0]]) array([-2.8720...])
- __init__(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, reducers=1.0)#
方法
__init__([基估计器, 估计器数量, ...])fit(X[, y, sample_weight, session, run_kwargs])从训练集(X, y)构建一个Bagging集成估计器。
predict(X[, session, run_kwargs])预测X的回归目标。
score(X, y[, sample_weight])返回预测的决策系数。