XGBoost的作者把所有的参数分成了三类:[2]
通用参数:宏观函数控制。
Booster参数:控制每一步的booster(tree/regression)。
学习目标参数:控制训练目标的表现。
详细解释
- learning_rate
- n_estimators
min_child_weight
决定最小叶子节点样本权重和。如果在一次分裂中,叶子节点上所有样本的权重和小于min_child_weight则停止分裂,能够有效的防止过拟合,防止学到特殊样本。参考[1]
- gamma 正则化的参数
- scale_pos_weight 样本不平衡时用
subsample
用于训练模型的子样本占整个样本集合的比例。如果设置为0.5则意味着XGBoost将随机的冲整个样本集合中随机的抽取出50%的子样本建立树模型,这能够防止过拟合
colsample_bytree
在建立树时对特征采样的比例。缺省值为1
调节的顺序
初始学习率,base_model个数
max_depth和min_weight
gamma值
subsample
colsample_bytree
正则化参数调优
降低学习率,训练更多的树
参考
【1】:min_child_weight参数含义
【2】:xgboost使用指南