最初のスタックドアンサンブルを作る

Pythonで学ぶアンサンブル手法

Román de las Heras

Data Scientist, Appodeal

scikit-learn でのスタッキング

scikit-learn のスタッキング実装の特徴:

  1. scikit-learn はスタッキング推定器を提供(v0.22以降)
  2. 他の scikit-learn 推定器と互換
  3. 最終推定器は交差検証で学習
Pythonで学ぶアンサンブル手法

手順の概要

スタッキングのアーキテクチャ手順

実装の一般的な手順:

  1. データセットを準備
  2. 第1層の推定器を作成
  3. 予測をデータに追加
  4. 第2層のメタ推定器を作成
  5. スタックドアンサンブルで予測
Pythonで学ぶアンサンブル手法

スタッキング分類器

from sklearn.ensemble import StackingClassifier
# 第1層の分類器を用意
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# 第2層の分類器を用意
clf_meta = ClassifierMeta(paramsMeta)
# スタッキング分類器を構築
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# fit と predict を実行
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Pythonで学ぶアンサンブル手法

スタッキング回帰器

from sklearn.ensemble import StackingRegressor
# 第1層の回帰器を用意
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# 第2層の回帰器を用意
reg_meta = RegressorMeta(paramsMeta)
# スタッキング回帰器を構築
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# fit と predict を実行
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Pythonで学ぶアンサンブル手法

あなたの番です!

Pythonで学ぶアンサンブル手法

Preparing Video For Download...