模型参数
n_estimators:
总共迭代的次数,即决策树的个数
early_stopping_rounds:
在验证集上,当连续n次迭代,分数没有提高后,提前终止训练。防止overfitting。
在num_boost_round的轮训练中,如果过程中指标经过early_stopping_rounds轮还没有减少,那么就停止训练
max_depth:
树的深度,默认值为6,典型值3-10。值越大,越容易过拟合;值越小,越容易欠拟合。
min_child_weight:
默认值为1,。值越大,越容易欠拟合;值越小,越容易过拟合(值较大时,避免模型学习到局部的特殊样本)。
subsample:
训练每棵树时,使用的数据占全部训练集的比例。默认值为1,典型值为0.5-1。防止overfitting。
colsample_bytree:
训练每棵树时,使用的特征占全部特征的比例。默认值为1,典型值为0.5-1。防止overfitting。
常规参数
booster:
gbtree 树模型做为基分类器(默认)
gbliner 线性模型做为基分类器
silent:
silent=0时,输出中间过程(默认)
silent=1时,不输出中间过程
verbosity: 打印消息的详细程度
有效值为0(静默),1(警告),2(信息),3(调试)
nthread:
nthread=-1时,使用全部CPU进行并行运算(默认)
nthread=1时,使用1个CPU进行运算。
scale_pos_weight:
在二分类任务中,正样本的权重,当正负样本比例失衡时,设置正样本的权重,模型效果更好。例如,当正负样本比例为1:10时,scale_pos_weight=10。
参数对多分类任务无用。
学习任务参数
learning_rate:
学习率,控制每次迭代更新权重时的步长,默认0.3。值越小,训练越慢。
典型值为:0.01-0.2。
objective(目标函数):
回归任务
reg:linear (MSE)
二分类
binary:logistic 概率
多分类
multi:softprob 概率,还需要设置num_class(类数)
multi:softmax 类目,还需要设置num_class(类数)
eval_metric:
回归任务(默认rmse)
rmse--均方根误差
mae--平均绝对误差
分类任务(默认error)
auc--roc曲线下面积
error--错误率(二分类)
merror--错误率(多分类)
logloss--负对数似然函数(二分类)
mlogloss--负对数似然函数(多分类)
gamma:
指定节点分裂所需的最小损失函数下降值,用于剪枝
alpha:
L1正则化系数,默认为1
lambda:
L2正则化系数,默认为1
gamma参数详解: