优秀的编程知识分享平台

网站首页 > 技术文章 正文

xgboost参数调整笔记(xgb 调参)

nanyue 2024-10-08 05:40:13 技术文章 8 ℃

xgboost是目前最火热的模型之一

调参是机器学习的黑暗艺术,通常最优的模型参数依赖于场景,基本上没有一个普适的方法。xgboost是现阶段使用特别多的一个模型,这里只能一个简单的调参指引

理解偏置-方差的权衡

这个偏置-方差 权衡的概念是一般机器学习或者统计课程当中的基本概念。其基本思路就是如果我们允许模型变得更加复杂,例如加深gbdt的每棵树,模型就拥有更好的逼近能力,从而得到偏置更小的模型,但是我们需要更多的训练数据。大多数xgboost中的参数都是偏置-方差的权衡。最好的参数会权衡好最终模型的复杂程度和预测能力。这里将从过拟合控制和非平衡数据出发考虑参数

控制过拟合:

当我们观察到训练的时候准确率非常高,但是测试准确率很低的时候,就是模型过拟合的时候通常xgboost的使用中,我们有两个方法去控制过拟合现象

  • 第一个方法是直接控制模型的复杂度

    1. 这里面包括max_depth,min_child_weight和gamma

    2. 第二种方法是在模型中添加随机性来提高鲁棒性

  • 包括subsample和colsample_bytree参数

  1. 我们还可以降低步长eta,但是需要记得同时提高树的棵树

处理非平衡数据集

通常而言广告的点击率预估数据集都是非平衡的。这其实会影响最终xgboost学习得到的模型,通常我们有两个方法来改善

  • 如果最终模型是为了提高预测的auc

    1. 调整scale_pos_weight平衡正负样本的权重

    2. 使用auc来做验证

  • 如果最终模型看重预测的正确率

    1. 通过设置参数max_delta_step来帮助模型收敛

Tags:

最近发表
标签列表