六 、AdaBoost

6.1 AdaBoostClassifier

  1. AdaBoostClassifierAdaBoost分类器,其原型为:

    1. class sklearn.ensemble.AdaBoostClassifier(base_estimator=None, n_estimators=50,
    2. learning_rate=1.0, algorithm='SAMME.R', random_state=None)
    • base_estimator:一个基础分类器对象,该基础分类器必须支持带样本权重的学习。默认为DecisionTreeClassfier

    • n_estimators:一个整数,指定基础分类器的数量(默认为50)。

      当然如果训练集已经完美的训练好了,可能算法会提前停止,此时基础分类器数量少于该值。

    • learning_rate:一个浮点数,表示学习率,默认为1。它就是下式中的 六 、AdaBoost - 图1六 、AdaBoost - 图2

      • 它用于减少每一步的步长,防止步长太大而跨过了极值点。
      • 通常学习率越小,则需要的基础分类器数量会越多,因此在learning_raten_estimators之间会有所折中。
    • algorithm:一个字符串,指定用于多类分类问题的算法,默认为'SAMME.R'

      • 'SAMME.R' :使用SAMME.R 算法。基础分类器对象必须支持计算类别的概率。

        通常'SAMME.R' 收敛更快,且误差更小、迭代数量更少 。

      • 'SAMME':使用SAMME算法。

    • random_state:指定随机数种子。

  2. 模型属性:

    • estimators_: 所有训练过的基础分类器。
    • classes_: 所有的类别标签。
    • n_classes_:类别数量。
    • estimator_weights_:每个基础分类器的权重。
    • estimator_errors_:每个基础分类器的分类误差。
    • feature_importances_:每个特征的重要性。
  3. 模型方法:

    • 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

  1. AdaBoostRegressorAdaBoost回归器,其原型为:

    1. class sklearn.ensemble.AdaBoostRegressor(base_estimator=None, n_estimators=50,
    2. learning_rate=1.0, loss='linear', random_state=None)
    • base_estimator:一个基础回归器对象,该基础回归器必须支持带样本权重的学习。默认为DecisionTreeRegressor

    • loss:一个字符串。指定了损失函数。可以为:

      • 'linear':线性损失函数(默认)。
      • 'square':平方损失函数。
      • 'exponential':指数损失函数。
    • 其它参数参考AdaBoostClassifier
  2. 模型属性:

    • estimators_:所有训练过的基础回归器。
    • estimator_weights_:每个基础回归器的权重。
    • estimator_errors_:每个基础回归器的回归误差。
    • feature_importances_:每个特征的重要性。
  3. 模型方法:

    • fit(X, y[, sample_weight]):训练模型。
    • predict(X):用模型进行预测,返回预测值。
    • score(X,y[,sample_weight]):返回模型的预测性能得分。
    • staged_predict(X):返回一个数组,数组元素依次是:集成回归器在每一轮迭代结束时的预测值。
    • staged_score(X, y[, sample_weight]):返回一个数组,数组元素依次是:集成回归器在每一轮迭代结束时,该集成回归器的预测性能得分。