04-03 scikit-learnライブラリのAdaBoostアルゴリズム

3064 ワード

目次
  • scikit-learnライブラリのAdaBoostアルゴリズム
  • 一、AdaBoostClassifier
  • 1.1使用シーン
  • 1.2パラメータ
  • 1.3属性
  • 1.4方法
  • 二、AdaBoostRegressor
  • 更新、より完全な「機械学習」の更新サイトは、python、go、データ構造とアルゴリズム、爬虫類、人工知能教育などが待っています.https://www.cnblogs.com/nickchen121/p/11686958.html
    scikit-learnライブラリのAdaBoostアルゴリズム
    Adaboostパラメータを調整する場合、主に2つの部分の内容パラメータを調整し、第1の部分はAdaboostのフレームワークを調整し、第2の部分は弱い学習器パラメータを調整します.本文は主にAdaBoostの2つのモデルAdaBoostClassifierAdaBoostRegressorを紹介し、AdaBoostClassifierモデルを詳しく紹介し、それからAdaBoostRegressorモデルを比較して説明する.
    次に、上記の違いについて議論します.公式ドキュメントから翻訳されているため、翻訳はやや偏っています.興味のある方はscikit-learn公式ドキュメントを見てもいいです.https://scikit-learn.org/stable/modules/classes.html#module-sklearn.ensemble
    一、AdaBoostClassifier
    1.1シーンの使用AdaBoostClassifierモデルは主に分類問題を解決し、scikit-learnライブラリで2種類の分類アルゴリズムの実現を使用し、それぞれSAMMEとSAMMEである.R.
    1.2パラメータ
  • base_estimator:弱い分類器タイプ、objectタイプ.理論的には任意の弱い分類器を選択することができるが,一般に決定ツリーまたはニューラルネットワークを用いて試料重みをサポートする必要がある.もしalgorithm='SAMME.R',弱い分類器は確率予測,すなわちpredit_をサポートすべきである.proba()メソッド.デフォルトの場合、アルゴリズムは最大深さが1の決定ツリーを選択します.デフォルトはNoneです.
  • n_estimators:最大反復回数、intタイプ.弱い学習器の最大反復回数は、反復回数が小さすぎると、フィットしにくい.反復回数が大きすぎると、フィットしやすくなります.デフォルトは50です.
  • learning_rate:ウェイト削減係数、floatタイプ.このパラメータは正規化項のパラメータ(lambda)です.より小さい(lambda)は、learning_というより多くの反復回数を必要とします.rateとn_estimatorsは一緒にパラメータを調整する必要があります.デフォルトは1です.
  • algorithm:アルゴリズムタイプ、strタイプ.このパラメータは主に学習器の重みを測定するために使用されます.デフォルトは'SAMME.R'.
  • 'SAMME':弱分類器重み
  • としてサンプルセット分類効果を使用
  • 'SAMME.R′:サンプルセット分類の予測確率サイズを弱分類器重み
  • として使用する
  • random_state:乱数シード、intタイプ.使用後、乱数が時間とともに変化しないことを保証できます.デフォルトはNoneです.

  • 1.3プロパティ
  • estimators_:リストタイプ.弱学習集合.
  • classes_:arrayタイプ.カテゴリのリスト.
  • n_classes_:intタイプ.カテゴリ数.
  • estimator_weights_:arrayタイプ.各弱い学習の重み.
  • estimator_errors_:arrayタイプ.各弱い学習額の分類誤差.
  • feature_importances_:arrayタイプ.フィーチャーの重要度を返します.

  • 1.4方法
  • decision_function(X):サンプルXの決定関数値を計算します.
  • fit(X,y):モデルにデータを入れてモデルを訓練する.
  • get_params([deep]):Pipelineで使用できるモデルのパラメータを返します.
  • predict(X):予測サンプルXの分類カテゴリ.
  • predict_log_proba(X):サンプルXが各カテゴリに対応する対数確率を返す.
  • predict_proba(X):サンプルXが各カテゴリに対応する確率を返す.
  • score(X,y[,sample_weight]):レポート決定係数(R^2)に基づいてモデルを評価します.
  • set_prams(**params):モデルパラメータを作成します.
  • staged_decision_function(X):各ステージサンプルXの決定関数値を返します.
  • staged_predict(X):各ステージサンプルXの予測値を返します.
  • staged_predict_proba(X):各ステージサンプルXが各カテゴリに対応する確率を返す.
  • staged_score(X,y[,sample_weight]):各フェーズサンプルXの(R^2)スコアを返します.

  • 二、AdaBoostRegressorAdaBoostRegressorモデルとAdaBoostClassfierモデルのパラメータの差は多くないが,前者は一般的に回帰問題を解決するために用いられ,後者は分類問題を解決するために用いられ,予測値処理方式が異なる.AdaBoostRegressorモデルはscikit-learnライブラリでAdaboostのみを使用する.R 2アルゴリズムが実現される.AdaBoostRegressorモデルはパラメータ'algorithm'ではなく、lossパラメータ、すなわち誤差関数{'linear','square','exponential'}の選択を使用します.