📠
LightGBMのハイパーパラメータのデフォルト値を決めたい
結論
params = {
'boosting_type': 'gbdt', # default = 'gbdt'
'num_leaves': 63, # default = 31,
'learning_rate': 0.01, # default = 0.1
'feature_fraction': 0.8, # default = 1.0
'bagging_freq': 1, # default = 0
'bagging_fraction': 0.8, # default = 1.0
'random_state': 0, # default = None
}
説明
過去コンペのハイパーパラメーターを試してくれてる人がいたので、ここを元に見ている。
| パラメーター | 説明 |
|---|---|
| boosting_type | BoostingのType。多くはgbdtだが、まれにdartやgossもある。 |
| num_leaves | 葉の数。かなり多様だが、上記ページだと中央値63。 |
| learning_rate | 学習率。0.01から0.005くらいまでが多い。 |
| feature_fraction | 特徴量側のサンプリング。0.8近辺が多い。 |
| bagging_freq | Baggingを何回に1回行うか。1か5 |
| bagging_fraction | サンプル側のサンプリング。0.8近辺が多い。 |
| random_state | 乱数 |
その他調整されてることが多いパラメーター
-
lambda_l1,lambda_l2(正則化項) -
max_depth(木の深さ)
num_leaves を木の深さから定義したもの。
たまに調整されるパラメーター
-
min_child_weight,min_child_samples(どこまで分割するかの定義)
weightはノードの重み、samplesはノード中のサンプル数。
サンプル数はデータ数にも依存するので注意
-
max_bin(特徴量をどれだけ大雑把に捉えるか)
デフォは255。公式では "For Better Accuracy" にて推奨されてるが、あんまり増やしてる人は多くない。
参考
- 【随時更新】Kaggleテーブルデータコンペできっと役立つTipsまとめ
CPMP流のあたりを参考にしました
- LightGBMのパラメーターページ(公式)
- LightGBMのパラメーターチューニングページ(公式)
Discussion