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_rate 和n_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, ) 基于杂质的特征重要性。 |
另见:
参考文献
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([[0, 0, 0, 0]])
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 |