XGBoost 参数介绍
XGBoost 的设置有三种参数:一般参数,提升参数和学习参数。
一般参数 取决于提升器,通常是树或线性模型
提升参数 取决于选择的提升器的相关参数
学习参数 取决于指定学习任务和相应的学习目标
一般参数 (general parameters)
booster:选择提升器,默认是 tree
silent:是否打印信息,默认是 0 不打印
nthread:线程数,默认为最大可用线程数
num_pbuffer:缓冲区大小,默认为训练实例的数量
num_feature:特征纬度,默认为特征的最高纬度
提升参数 (booster parameters)
eta:学习率,范围 [0, 1],默认为 0.3。该参数越小,计算速度越慢;该参数越大,有可能无法收敛
gamma:控制叶子个数的参数,范围 [0, +∞),默认为 0。该参数越大,越不容易过拟合
max_depth:每颗树的最大深度,范围 [0, +∞),默认为 6。该参数越大,越容易过拟合
min_child_weight:每个叶子里面的最小权重和,范围 [0, +∞),默认为 1。该参数越大,越不容易过拟合
subsample:样本采样比率,范围 (0, 1],默认为 1。如果取 0.5 代表随机用 50% 的样本集用来训练
colsample_bytree:列采样比率,范围 (0, 1],默认为 1。对每棵树的生成用的特征进行列采样,类似于随机森林的列采样
lambda:L2 正则化参数,范围 [0, +∞),默认为 1。该参数越大,越不容易过拟合。
alpha:L1 正则化参数,范围 [0, +∞),默认为 0。该参数越大,越不容易过拟合。
scale_pos_weight:控制正反类的平衡参数,范围 [0, +∞),默认为 1。该参数通常设为“反类的总和/正类的总和”
学习参数 (learning parameters)
objective:损失函数,默认为 linear。其他常见类型有:
reg:logistic – 二分类
binary:logistic – 二分类概率
multi:softmax – 多分类
multi:softprob – 多分类概率
rank:pairwise – 排序
base_score:预测分数,默认为 0.5。最初每个样例的预测分数。
eval_metric:评估指标。该指标用在验证集上,比如回归任务默认的是 rmse;分类任务默认为 error;排序任务默认为 map。其他常见类型有:
rmse – root mean square error
mae – mean absolute error
logloss – negative log-likelihood
error – binary classification error rate
merror – multiclass classification error rate
mlogloss – multiclass logloss
auc – area under the curve
map – mean average precision
seed:随机种子,默认为 0,用于产生可复现的结果