参考链接
1.简介
XGBoost一般包含三种类型的参数: 常规参数, 提升器参数和任务参数.
- 常规参数与我们用于提升的提升器有关,通常是树模型或线性模型
- 提升器参数取决于你所选择的提升器
- 学习任务的参数决定了学习场景, 例如回归任务可以使用不同的参数进行排序相关的任务
- 命令行参数的行为与 xgboost 的 CLI 版本相关
2. 常规参数
- booster [default=gbtree]
决定使用哪个booster,取值可以是gbtree、gblinear或dart。其中,gbtree和dart是基于树模型,gblinear是基于线性函数
- silent [default=0]
是否打印运行信息。0表示打印,1表示不打印
- nthread [default to maximum number of threads available if not set]
设置用于运行xgboost的并行线程数,默认为系统的最大线程数
- num_pbuffer[xgboost自动设置,不需要用户设置]
预测结果所需的缓存大小,一般设置为训练样本数。缓存用来保存最后一轮提升的预测结果
- num_feature[xgboost自动设置,不需要用户设置]
模型提升时使用的特征维度,一般设置为最大特征维度
3. 提升器参数
3.1 用于 Tree 提升的参数
- eta [default=0.3]
迭代过程中为了避免过拟合而使用的步长。每次迭代后,我们都会获得各个特征的权重,而eta可以缩小这一权重而使得提升过程更鲁棒
取值范围: [0,1]
- gamma [default=0]
节点分裂所需的最小损失下降值。该值越大,算法将会越保守
取值范围: [0,∞]
- max_depth [default=6]
树的最大深度。该值越大,单棵树模型越复杂,越容易过拟合
取值范围: [1,∞]
- min_child_weight [default=1]
叶节点样本的最小权重和。如果树的叶节点分裂使得叶节点的