📠
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