XGBoost简易调参指南

本文提供了一位Kaggle选手分享的XGBoost模型调参经验,包括数据划分、模型参数初始化及调整策略,适合快速调试XGBoost模型。

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

本文为kaggle上一位选手分享的xgboost调参经验的翻译。方便对xgboost模型参数的快速调试。

原文:https://www.kaggle.com/c/bnp-paribas-cardif-claims-management/forums/t/19083/best-practices-for-parameter-tuning-on-models

数据的划分:一般从训练集里划分20%作为验证集,简易的调参不做交叉验证,因为交叉验证实在是耗费时间。

模型参数的初始化:

  • 模型类型:根据问题(二分类,多分类,回归等)选择合适的模型类型
  • 初始参数:eta= 0.1, depth= 10, subsample=1.0, min_child_weight = 5, col_sample_bytree = 0.2(depends on feature size)
  • nround:xgboost的轮数,直接设置为10000,若error开始不断变高(或auc不断变低),直接中断程序运行即可
调参
1)先调整depth,一般depth与其他参数关联性不大,故第一个调整。首先将其初始化为10,训练模型观察最优结果。再将其调整为8,若效果变差则调整为12。用这种方法逐步接近最好的参数。
2)然后调整subsample,初始化为1,观察结果。调整为0.8,若变好则继续下调一点看看,否则则改回0.9。若0.9的效果还不好则改回1
3)用与depth相同的方法调整min_child_weight
4)然后调整col_sample_bytree
5)最后将eta设置为0.05(或者更低一点),训练模型并观察,记录最优的训练轮数(num_round)——即错误率开始从不断下降转为不断上升的时候

通过这几个步骤可以粗略的确定一个比较好的参数组合(不一定是最好的参数组合),这个方法实际上算是一种贪心的策略吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值