- LibSVM形式
- Handle inbalanced dataset : AUC evaluation + scale_pos_weight + max_delta_step
- 過学習の解消
- モデルの複雑度
- max_depth : 木の最大深さ.大きくすると決定木は複雑になる
- min_child_weight : それぞれの葉に含まれる訓練データの重みの和(典型的には訓練データの個数そのもの)はこれ以上でなければならない/これ未満になるとき,ノードは分割されない.大きくすると決定木は単純になる
- gamma / min_split_loss : 葉1つあたりのloss.大きくすると決定木は単純になる
- lambda : L2ノルムの係数
- alpha : L1ノルムの係数
- eta / learning_rate (step size) : 葉の値の割引率.木が完成したのちに葉の値を割引き,残りの木に押し付ける残差を大きくする.lambdaは正則化によって葉の値を縮めるが,etaは後から直接割り引く.小さくすると学習が安定するが,より多くの木が必要になる(num_roundを大きくする)
- num_round : ブースティングのラウンド数/決定木の数
- ランダム化
- subsample : 各決定木の学習ごとに異なるデータのサブサンプルを用いる.デフォルトは1で各学習で全データを用いる
- colsample_bytree : 各決定木の学習ごとに異なる特徴量のサブサンプルを用いる.デフォルトは1で各学習で全特徴量を用いる
- colsample_bylevel : 決定木の各分岐ごとに異なる特徴量のサブサンプルを用いる.デフォルトは1で各分岐で全特徴量を用いる
- 偏りのあるデータ
- scale_pos_weight : デフォルトは1.偏りがある場合はsum(負例) / sum(正例)とかにする
- max_delta_step : データに偏りがあるときに利用
- eval_metric : バリデーションに用いる評価関数.デフォルトは目的関数だが偏りがある場合はAUCなどにする
- モデルの複雑度
Last active
August 16, 2018 15:10
-
-
Save templateaholic10/120f6f172360cfb3c2f6b592a830445e to your computer and use it in GitHub Desktop.
XGBoostのメモ
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment