すべてをアンサンブル

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

Román de las Heras

Data Scientist, Appodeal

第1章: Voting と Averaging

Voting(投票)

  • 結合: 最頻値(多数決)
  • 分類
  • 異種アンサンブル手法

Averaging(平均)

  • 結合: 平均値
  • 分類・回帰
  • 異種アンサンブル手法

適している場合:

  • 複数の異なるモデルを作成済み
  • どれが最良か不明
  • 全体の性能を高めたい
Pythonで学ぶアンサンブル手法

第2章: バギング

弱学習器

  • ランダム推測よりわずかに良い
  • 軽量で高速
  • 同種アンサンブルの土台

バギング(ブートストラップ集約)

  • 置換抽出のランダムサブサンプル
  • 多数の「弱」学習器
  • Voting または Averaging で集約
  • 同種アンサンブル手法

適している場合:

  • 分散を下げたい
  • 過学習を避けたい
  • 安定性と堅牢性を高めたい

* 注意:

  • バギングは計算コストが高い
Pythonで学ぶアンサンブル手法

第3章: ブースティング

段階学習

  • 同種アンサンブルの一種
  • 反復学習に基づく
  • 逐次的にモデルを構築

ブースティング手法

  • AdaBoost
  • 勾配ブースティング:
    • XGBoost
    • LightGBM
    • CatBoost

適している場合:

  • 問題が複雑
  • 並列処理や分散処理が必要
  • 大規模データや高次元カテゴリ特徴がある
Pythonで学ぶアンサンブル手法

第4章: スタッキング

スタッキング

  • 結合: メタ推定器(モデル)
  • 分類・回帰
  • 異種アンサンブル手法

実装

  • pandas と sklearn でゼロから
  • 既存の MLxtend ライブラリを利用

適している場合:

  • Voting / Averaging を試したが期待どおりでない
  • ケースにより強いモデルを複数持っている
Pythonで学ぶアンサンブル手法

ありがとうございました。良いアンサンブルを!

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

Preparing Video For Download...