XGBoost 模型参数调整记录

目录

前言

总结


前言

        最近使用XGBoos模型来预测或者分类物质,其中参数优化是非常重要的一步,本文就简单记录下入门心得


        首先,XGBoost是属于决策树模型,原理是不断建树,最后将所有树结果加到一起。一般的调参顺序:n_estimator_nums;再调整剪枝参数(gamma,max_depth),最后列采样col、样本采样sub,eta(从大到小调整) 。主要思路:先使用默认参数调整,观察曲线,判断欠拟合 or 过拟合?调整对应参数。

1. eta:

        学习率参数,就是原理中说的缩减,保证每一颗树对于结果的影响不太大,从而保证模型的效果。更新叶子节点权重时,乘以该系数,避免步长过大。参数值越大,越可能无法收敛。把学习率 eta 设置的小一些,小学习率可以使得后面的学习更加仔细。 典型值为0.01-0.2。该值一般影响训练速度,不会影响学习效果,一般有n_estimator一起网格调整

Tong He(XGBoost R语言版本开发者): 三个最重要的参数为:树的数目、树的深度和学习率。建议参数调整策略为:采用默认参数配置试试;如果系统过拟合了,降低学习率;如果系统欠拟合,加大学习率

2. min_child_weight:       

        默认1,这参数限制每棵树权重改变的最大步长。如果这个参数的值为0,那就意味着没有约束。如果它被赋予了某个正值,那么它会让这个算法更加保守(下链接中提到,树停止生长的条件,其中min_child_weight,是最小样本权重和,当引入一次分裂后,重新计算新生成的左、右两个叶子结点的样本权重和,如果任一个叶子结点的样本权重低于某一个阈值,也会放弃此次分裂。这涉及到一个超参数:最小样本权重和,是指如果一个叶子节点包含的样本数量太少也会放弃分裂,防止树分的太细。)

3. gamma(默认0) 和 depth(默认6)(重要的后剪枝参数): 

    

 注意:

gamma不是正则项公式中的L1正则化系数(L1正则化系数对应的参数为alpha),而是最小的分类损失降低(loss reduction),只有当节点分裂带来的损失降低大于gamma时才进行分裂,可以有效避免过拟合;默认值为0,

4. subsample [default=1]
        样本采样用的,减小这个参数的值,算法会更加保守,避免过拟合,但是如果这个值设置得过小,它可能会导致欠拟合。典型值:0.5-1,cv调优

5. colsample_bytree [default=1]
        特征列采样,就是选择生成树的特征,是为了防止过拟合的,一般设置为: 0.5-1 ,也要用cv拟合。


总结

        XGBoost资料集合: 

       数据分析利器:XGBoost算法最佳解析|二阶|权重值|特征值|拟合_网易订阅

       珍藏版 | 20道XGBoost面试题 - 腾讯云开发者社区-腾讯云

         上述调整之后,一般是可以得到较好的结果,其余 参数一般不需要调整,默认就好,本人之前调整过lamda参数,导致后边结果异常,所以调参一定要明白模型的原理

2023.06.28参数更新:

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老赵的博客

叮咚,你的赏钱已到账,嘿嘿嘿

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值