Xgboost调参策略

本文介绍了Xgboost的参数,如'booster'、'objective'等,还给出了调参经验及相关参考链接。调参策略采用分组调节,先选初始参数,再依次调节`max_depth`和`min_child_weight`、`gamma`、`subsample`和`colsample_bytree`,最后调节学习率`eta`,以降低过拟合风险、优化模型性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Xgboost参数


- 'booster':'gbtree',梯度提升决策树
- 'objective': 'multi:softmax', 多分类的问题
- 'num_class':10, 类别数,与 multisoftmax 并用
- 'gamma':损失下降多少才进行分裂,这个需要调一下,越大越不易过拟合,但是模型性能会降低。
- 'max_depth':12, 构建树的深度,越大越容易过拟合
- 'lambda':1,  控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。一般不用调,设为1就好了(或者有其他经验)
- 'subsample':0.7, 随机采样训练样本,支持样本随机采样
- 'colsample_bytree':0.7, 生成树时进行的列采样,也就是对特征随机采样
- 'min_child_weight':3, 孩子节点中最小的样本权重和。如果一个叶子节点的样本权重和小于min_child_weight则拆分过程结束
- 'silent':0 ,设置成1则没有运行信息输出,最好是设置为0.
- 'eta': 0.007, 如同学习率,这棵树的百分之0.7的一个结果,如果为1 说明这个树全加进了来了,也就是每棵树不是取完全的贡献,而是取百分之多少 ,也就是 Shrinkage 缩减
- 'seed':1000,
- 'nthread':7, cpu 线程数

- early_stopping_rounds:Validation metric needs to improve at least once in every early_stopping_rounds round(s) to continue training. 值得注意的是,是必须提升,否则停止。

xgboost调参经验

有关参数更详细的介绍:

https://baijiahao.baidu.com/s?id=1613550753243799306&wfr=spider&for=pc

https://zhuanlan.zhihu.com/p/95304498

https://blog.youkuaiyun.com/u010414589/article/details/51153310

自定义评价函数(feval):https://blog.youkuaiyun.com/u014712516/article/details/79045402

Xgboost调参策略

调参的策略,随着数据集的增大,逐渐的选择较少的参数分组去调

划重点: 分组进行调节


* Step 1: 选择一组初始参数
* Step 2: 改变 `max_depth` 和 `min_child_weight`.树模型复杂程度

这些参数对xgboost性能影响最大,因此,他们应该调整第一。

  • max_depth: 树的最大深度。增加这个值会使模型更加复杂,也容易出现过拟合,深度3-10是合理的。

  • min_child_weight: 正则化参数. 如果树分区中的实例权重小于定义的总和,则停止树构建过程。

注:分数的提高主要是基于max_depth增加,min_child_weight稍有影响的成绩,可以根据画图得到

* Step 3: 调节 `gamma` 降低模型过拟合风险.

我们选择分高的一些偏小一些的 `gamma`。可以令'gamma':[ 0.1 * i for i in range(0,5)]


* Step 4: 调节 `subsample` 和 `colsample_bytree` 改变数据采样策略.
* Step 5: 调节学习率 `eta`.

参数优化的最后一步是降低学习速度,同时增加更多的估计量(树个数)

` ETA `和` num_boost_round `之间的关系:若有较小的学习率(ETA),应增大树的个数(num_boost_round)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值