03 進階

XGBoost 上手

sklearn 的梯度提升概念清楚但慢。工業界與 Kaggle 真正在用的是 XGBoost——更快、內建正則化、會自己處理缺值。跑出你的第一個 XGBoost 模型。

XGBoost 上手 範例輸出

這堂課的完整程式碼在 Jupyter notebook 裡。點下面按鈕在 Colab 開啟,就能直接執行、修改、實驗——你的修改不會動到原檔。

sklearn 的 GradientBoosting 適合理解原理,但實戰太慢。工業界與 Kaggle 競賽真正在用的是 XGBoost。好消息:它用的是你早就熟悉的 fit / predict 介面。

這堂課你會學到

  • XGBClassifier(sklearn 風格 API)訓練模型
  • XGBoost 相較 sklearn GBDT 的三個賣點
  • 最常調的三個參數:n_estimators / learning_rate / max_depth

XGBoost 強在哪?

  • 速度:用了二階梯度資訊與大量工程最佳化,大資料快非常多。
  • 正則化:內建 L1/L2(reg_alpha / reg_lambda)抑制過擬合——sklearn GBDT 沒有。
  • 缺值處理:自動學習缺值該往左還是往右走,不用你補值。

三個最常調的參數是一組默契:learning_raten_estimators 成對(學習率減半,樹大約要加倍),max_depth 控制每棵樹能抓多複雜的交互作用。下一課就專門處理「樹該種幾棵」這個過擬合問題。

👉 在 Colab 裡把 max_depth 從 3 改成 8,看訓練準確率與測試準確率分別怎麼變——這是過擬合的現場。

#xgboost #gradient-boosting #regularization

留言 0

留言載入中…