シリーズ・全3本
表形式データの機械学習
表形式のデータなら勾配ブースティングから始めればよい、とよく言われます。ただ、実際にどのライブラリを選ぶかで結果はどれだけ変わるのか、精度以外の学習時間や解釈のしやすさまで含めるとどこで逆転するのかは、あまり測られていません。このシリーズでは、条件を揃えた比較を通してモデル選びを確かめています。LightGBMの学習が進まない警告を、ログと木の状態から診断する記事も扱います。学習後に出てくる特徴量の重要度や説明の読み方はモデル解釈のシリーズ、前処理と特徴量、不均衡データ、検証の落とし穴もそれぞれ別のシリーズで扱っています。
困っていることから選ぶ
- XGBoost・LightGBM・CatBoostを選び分けたい二値分類での精度と学習時間を、データの規模ごとに比べます。XGBoost・LightGBM・CatBoost比較—精度と学習時間で選ぶ
- 説明しやすいモデルを選ぶと精度は落ちる?EBMとLightGBMを、精度・学習時間・交互作用の違いから比較します。EBMとLightGBMを比較|精度・学習時間・交互作用の違い
- 特徴量を増やす前に、効果を確かめたい特徴量づくりの手法を入れ外しし、精度と学習時間の変化を見ます。特徴量の「全部盛り」はGBDTの精度を下げるか—5手法を実測比較
- LightGBMの予測処理を速くしたい一括処理・ONNX・treeliteを、単発とまとめて予測する場合に分けて比べます。LightGBMの推論高速化—ONNXが単発も一括も最速、treeliteは使い方で順位が逆転
連載順に読む
第1回XGBoost・LightGBM・CatBoost比較—精度と学習時間で選ぶ
XGBoost・LightGBM・CatBoostを既定設定で比べると、CatBoostのROC-AUCが最も高いものの、adult全件ではLightGBMと表示4桁で一致し、magic全件では差が残りました。今回のCPU・既定設定ではCatBoostの学習時間は最速ライブラリの16〜40倍。二値分類3データセット計10条件の実測から、データごとの精度差と学習回数に応じた選び方を整理します。
第2回EBMとLightGBMを比較|精度・学習時間・交互作用の違い
EBM(Explainable Boosting Machine)とLightGBMを実データ3件で比べると、ROC-AUCの差はどちらの向きも0.012以下でした。代わりに開いたのは学習時間で、全21セルの平均は73.00秒対0.116秒。3つの特徴量が同時に効く合成データではEBMが0.509まで落ちます。
第3回LightGBMのNo further splitsは無視していい?警告100回と0回を比べた
No further splitsが100回出たモデルは、0回のモデルより誤差が小さくなりました。警告の件数で学習失敗を決められない理由を実測で確認し、手元のモデルの木・予測・誤差を調べる診断関数も紹介します。