sklearn.ensemble.AdaBoostRegressor

class sklearn.ensemble.AdaBoostRegressor(base_estimator=None, *, n_estimators=50, learning_rate=1.0, loss='linear', random_state=None)      

[源码]

一个AdaBoost的回归器。

AdaBoost[1]回归器是一个元估计器,它首先在原始数据集上拟合一个回归器,然后在同一数据集上拟合回归器的额外副本,但是实例的权重会根据当前预测的误差进行调整。因此,随后的回归更侧重于困难的案例。

这个类实现的算法称为AdaBoost.R2 [2]。

用户指南中获取更多内容。

0.14版本中新增内容。

参数 说明
base_estimator object, default = None
建立增强集成的基础估计器。如果没有,那么基础估计器是DecisionTreeRegressor(max_depth=3)
n_estimators int, default = 50
终止推进的估计器的最大数目。如果完全拟合,学习过程就会提前停止。
learning_rate float, default = 1
学习率通过learning_rate缩小每个分类器的贡献程度。learning_raten_estimators之间存在权衡关系。
loss {'linear', 'square', exponential}, default = 'linear'
每次增强迭代后,更新权重时,会用到损失函数。
random_state int or RandomState, default = None
控制每个base_estimator在每个增强迭代中给定的随机种子。因此,仅在base_estimator引入random_state时使用它。在多个函数调用之间传递可重复输出的整数。见术语表
属性 说明
base_estimateor_ estimator
用于增长集成的基础估计器。
extimators_ list of classsifiers
拟合的次估计器的集合。
estimator_weights_ ndarray of floats
在增强的集合中每个估计器的权重。
estimator_errors_ ndarray of floats
每个估计器在增强集成中的分类误差。
feature_importances_ ndarray of shape (n_features, )
基于杂质的特征重要性。

另见:

AdaBoostClassifier, GradientBoostingRegressor

sklearn.tree.DecisionTreeRegressor

参考文献

R0c261b7dee9d-1 Y. Freund, R. Schapire, “A Decision-Theoretic Generalization of on-Line Learning and an Application to Boosting”, 1995.

R0c261b7dee9d-2 Drucker, “Improving Regressors using Boosting Techniques”, 1997.

实例:

>>> from sklearn.ensemble import AdaBoostRegressor
>>> from sklearn.datasets import make_regression
>>> X, y = make_regression(n_features=4, n_informative=2,
...                        random_state=0, shuffle=False)
>>> regr = AdaBoostRegressor(random_state=0, n_estimators=100)
>>> regr.fit(X, y)
AdaBoostRegressor(n_estimators=100, random_state=0)
>>> regr.predict([[0000]])
array([4.7972...])
>>> regr.score(X, y)
0.9771...

方法

方法 说明
fit(self, X, y[, sample_weight]) 自训练集(X,y)建立一个增强的回归器
get_params(self[, deep]) 获得这个估计器的参数
predict(self, X) 预测X的回归值
score(self, X, y[, sample_weight]) 返回预测的决定系数R^2
set_params(self, **params) 设置当前估计器的参数
staged_predict(self, X) 返回X阶段性预测结果
staged_score(self, X, y[, sample_weight]) 返回X,y阶段性得分
__init__(self, base_estimator=None, *, n_estimators=50, learning_rate=1.0, loss='linear', random_state=None)

[源码]

初始化的self。请参阅帮助(type(self))以获得准确的签名。

property feature_importances_

[源码]

基于不纯的特性重要性。

越高,功能越重要。一个特征的重要性被计算为该特征带来的标准的(归一化)总减少量。它也被称为基尼重要性。

警告: 针对高基数特性(许多唯一值),基于不纯的特性重要性可能会引起误解。作为备选,请参考:sklearn.inspection.permutation_importance

返回值 说明
feature_importances_ ndarray of shape (n_features,)
特征重要性。
fit(self, X, y, sample_weight=None

[源码]

自训练集(X,y)建立一个增强的回归器。

参数 说明
X {array-like, sparse matrix} of shape (n_sample, n_features)
为训练输入样本。稀疏矩阵可以是CSC, CSR, COO, DOK, LIL。COO, DOK和LIL被转换为CSR。
y array-like of shape (n_samples, )
目标值(非类标签)。
sample_weight array-like of shape (n_samples, ), default = None
样本权重。如果没有,则将样本权重初始化为1 / n_samples
返回值 说明
self object
get_params(self, deep=True)

[源码]

得到当前估计器的参数。

参数 说明
deep bool, default = True
如果为真,将返回此估计器的参数以及包含作为估计器的子对象。
返回值 说明
params mapping of string to any
名称参数及他们所映射的值。
predict(self, X)

[源码]

预测X的分类。

对输入样本的预测类别进行计算,作为分类器在集成中的加权平均预测。

参数 说明
X {array-like, sparse matrix} of shape (n_samples, n_features)
为训练输入样本。稀疏矩阵可以是CSC, CSR, COO, DOK, LIL。COO, DOK和LIL被转换为CSR。
返回值 说明
y ndarray of shape (n_sample, )
预测后的回归值。
score(self, X, y, sample_weight=None)

[源码]

返回预测的决定系数R^2。

决定系数R^2为(1 - u/v),其中u为((y_true - y_pred) ** 2).sum()的残差平方和,v为(y_true - y_true.mean()) ** 2).sum()的平方和。最好的可能的分数是1.0,它可能是负的(因为模型可以任意地更糟)。常数模型总是预测y的期望值,而不考虑输入特征,得到的R^2得分为0.0。

参数 说明
X array-like of shape (n_samples, n_features)
对于一些估计器,这可能会被一个预先计算的内核矩阵或一列通用对象替代,而不是shape= (n_samples, n_samples_fitting),其中n_samples_fitting是用于拟合估计器的样本数量。
y array-like of shape (n_samples, ) or (n_samples, n_outputs)
X的正确值。
sample_weight array-like of shape (n_sample, ), default = None
样本权重。
返回值 说明
score float
self.predict(X)关于 y的决定系数R^2

注意:

调用回归变器的score时使用的R2 score,与0.23版本的multioutput='uniform_average'中r2_score的默认值保持一致。这影响了所有多输出回归的score方法(除了MultiOutputRegressor)。

set_params(self, params)

[源码]

设置该估计器的参数。

该方法适用于简单估计器和嵌套对象(如pipline)。后者具有形式为<component>_<parameter>的参数,这样就可以更新嵌套对象的每个组件。

参数 说明
**params dict
估计器参数。
返回值 说明
self object
估计实例。
staged_predict(self, X)

[源码]

返回X阶段性的预测。

计算一个输入样本的回归预测值作为分类器在集成中的加权中值进行预测。

该生成器方法在每次增强迭代后生成集成预测,并且因此允许监视,例如确定每次增强后测试集的预测。

参数 说明
X {array-like, sparse matrix} of shape (n_sample, n_features)
训练输入样本。
产出 说明
y generator of ndarray of shape (n_samples, )
预测后的回归值。
staged_score(self, X, y, sample_weight=None)

[源码]

返回X,y阶段性的分数。

该生成器方法在每次递增迭代后生成集成分数,因此允许进行监视,比如在每次递增之后确定测试集上分数。

参数 说明
X {array-like, sparse matrix} of shape (n_samples, n_features)
为训练输入样本。稀疏矩阵可以是CSC, CSR, COO, DOK, LIL。COO, DOK和LIL被转换为CSR。
y array-like of shpe (n_sample, )
X的正确标签。
sample_weight array-like of shape (n_samples, ), default = None
样本权重。
返回值 说明
z float

sklearn.ensemble.AdaBoostRegressor使用示例