3大 GBDT 比較・使い分け・重要パラメータ
XGBoost / LightGBM / CatBoost の特徴と使い分け、共通する重要パラメータと早期終了を整理します。
3 大 GBDT の比較#
| 観点 | XGBoost | LightGBM | CatBoost |
|---|---|---|---|
| 速度 | 標準 | 高速 | 標準 |
| 木の成長 | level-wise | leaf-wise | symmetric(対称木) |
| カテゴリ | 要エンコード | category 型対応 | 自動処理が強力 |
| 既定の強さ | 要調整 | 要調整 | デフォルトが強い |
| 複雑さの主パラメータ | max_depth | num_leaves | depth |
使い分けの目安#
最終的には複数を学習し、ブレンディングやスタッキングで混ぜると単体より安定して伸びます。
共通する重要パラメータ#
| 概念 | XGBoost | LightGBM | CatBoost |
|---|---|---|---|
| 学習率 | learning_rate | learning_rate | learning_rate |
| 木の本数 | n_estimators | n_estimators | iterations |
| 木の複雑さ | max_depth | num_leaves | depth |
| 行サンプリング | subsample | subsample | subsample |
| 列サンプリング | colsample_bytree | colsample_bytree | rsm |
| L2 正則化 | reg_lambda | reg_lambda | l2_leaf_reg |
早期終了は全部で使う#
どの実装でも、大きめの木数を設定して早期終了に最適本数を決めさせるのが定石です。 検証スコアが改善しなくなった時点で止めることで、過学習を防ぎつつ最良の本数を得られます。
ヒント
調整は「学習率を小さめに固定 → 木の複雑さ(深さ/num_leaves)→ サンプリング → 正則化」の順に 交差検証で詰めると効率的です。学習率は最後にさらに下げて本数を増やすと、もうひと伸びします。
理解度チェック#
次のステップ#
最後に、これらのパラメータを効率的に探索するハイパーパラメータ最適化を学びます。