集成一次到位

Python 的 Ensemble 方法

Román de las Heras

Data Scientist, Appodeal

第 1 章:Voting 與 Averaging

投票法(Voting)

  • 組合方式: 眾數(多數決)
  • 分類
  • 異質集成方法

平均法(Averaging)

  • 組合方式: 平均值
  • 分類與回歸
  • 異質集成方法

適合情境:

  • 已建立多個不同模型
  • 不確定哪個最好
  • 想提升整體效能
Python 的 Ensemble 方法

第 2 章:Bagging

弱學習器

  • 表現僅優於隨機猜測一點
  • 輕量且快速的模型
  • 同質集成方法的基礎

Bagging(自助聚合)

  • 以放回抽樣取得隨機子樣本
  • 大量「弱」學習器
  • 以投票或平均聚合
  • 同質集成方法

適合情境:

  • 想降低變異
  • 需要避免過度擬合
  • 需要更穩定、更健壯

* 注意:

  • Bagging 的計算成本較高
Python 的 Ensemble 方法

第 3 章:Boosting

逐步學習

  • 同質集成方法類型
  • 基於反覆(迭代)學習
  • 依序建模

Boosting 演算法

  • AdaBoost
  • Gradient Boosting:
    • XGBoost
    • LightGBM
    • CatBoost

適合情境:

  • 問題較複雜
  • 需要平行處理或分散式運算
  • 有大型資料集或高維度類別特徵
Python 的 Ensemble 方法

第 4 章:Stacking

Stacking

  • 組合方式: 中介學習器(meta-estimator/模型)
  • 分類與回歸
  • 異質集成方法

實作

  • 使用 pandas 與 sklearn 從零開始
  • 使用現成的 MLxtend 函式庫

適合情境:

  • 試過 Voting/Averaging,但結果不如預期
  • 已有模型在不同情境下各自表現良好
Python 的 Ensemble 方法

謝謝你的學習,集成完成!

Python 的 Ensemble 方法

Preparing Video For Download...