六 、AdaBoost
6.1 AdaBoostClassifier
AdaBoostClassifier
是AdaBoost
分类器,其原型为:class sklearn.ensemble.AdaBoostClassifier(base_estimator=None, n_estimators=50,
learning_rate=1.0, algorithm='SAMME.R', random_state=None)
base_estimator
:一个基础分类器对象,该基础分类器必须支持带样本权重的学习。默认为DecisionTreeClassfier
。n_estimators
:一个整数,指定基础分类器的数量(默认为50)。当然如果训练集已经完美的训练好了,可能算法会提前停止,此时基础分类器数量少于该值。
learning_rate
:一个浮点数,表示学习率,默认为1。它就是下式中的 : 。- 它用于减少每一步的步长,防止步长太大而跨过了极值点。
- 通常学习率越小,则需要的基础分类器数量会越多,因此在
learning_rate
和n_estimators
之间会有所折中。
algorithm
:一个字符串,指定用于多类分类问题的算法,默认为'SAMME.R'
。'SAMME.R'
:使用SAMME.R
算法。基础分类器对象必须支持计算类别的概率。通常
'SAMME.R'
收敛更快,且误差更小、迭代数量更少 。'SAMME'
:使用SAMME
算法。
random_state
:指定随机数种子。
模型属性:
estimators_
: 所有训练过的基础分类器。classes_
: 所有的类别标签。n_classes_
:类别数量。estimator_weights_
:每个基础分类器的权重。estimator_errors_
:每个基础分类器的分类误差。feature_importances_
:每个特征的重要性。
模型方法:
fit(X, y[, sample_weight])
:训练模型。predict(X)
:用模型进行预测,返回预测值。predict_log_proba(X)
:返回一个数组,数组的元素依次是X
预测为各个类别的概率的对数值。predict_proba(X)
:返回一个数组,数组的元素依次是X
预测为各个类别的概率值。score(X,y[,sample_weight])
:返回模型的预测性能得分。staged_predict(X)
:返回一个数组,数组元素依次是:集成分类器在每一轮迭代结束时的预测值。staged_predict_proba(X)
:返回一个二维数组,数组元素依次是:集成分类器在每一轮迭代结束时,预测X
为各个类别的概率值。staged_score(X, y[, sample_weight])
:返回一个数组,数组元素依次是:集成分类器在每一轮迭代结束时,该集成分类器的预测性能得分。
6.1 AdaBoostRegressor
AdaBoostRegressor
是AdaBoost
回归器,其原型为:class sklearn.ensemble.AdaBoostRegressor(base_estimator=None, n_estimators=50,
learning_rate=1.0, loss='linear', random_state=None)
base_estimator
:一个基础回归器对象,该基础回归器必须支持带样本权重的学习。默认为DecisionTreeRegressor
。loss
:一个字符串。指定了损失函数。可以为:'linear'
:线性损失函数(默认)。'square'
:平方损失函数。'exponential'
:指数损失函数。
- 其它参数参考
AdaBoostClassifier
。
模型属性:
estimators_
:所有训练过的基础回归器。estimator_weights_
:每个基础回归器的权重。estimator_errors_
:每个基础回归器的回归误差。feature_importances_
:每个特征的重要性。
模型方法:
fit(X, y[, sample_weight])
:训练模型。predict(X)
:用模型进行预测,返回预测值。score(X,y[,sample_weight])
:返回模型的预测性能得分。staged_predict(X)
:返回一个数组,数组元素依次是:集成回归器在每一轮迭代结束时的预测值。staged_score(X, y[, sample_weight])
:返回一个数组,数组元素依次是:集成回归器在每一轮迭代结束时,该集成回归器的预测性能得分。