python - XGBoost 回归器中的“reg_alpha”参数。使用高值不好吗?
问题描述
我正在使用网格搜索执行超参数调整,我意识到我正在过度拟合......我尝试了很多方法来减少它,改变"gamma", "subsample", "max_depth"
参数来减少它,但我仍然过拟合......
然后,我将“ reg_alpha
”参数值增加到 > 30 ....我的模型大大减少了过度拟合。我知道这个参数是指L1 regularization
权重术语,也许这就是解决我的问题的原因。
我只是想知道这样使用高值是否有任何问题reg_alpha
?
我会很感激你的帮助:D
解决方案
reg_alpha 惩罚增加成本函数的特征。这意味着它会找到不会提高准确性的特征。但这使得预测线更平滑。
在一些问题上,我还增加了 reg_alpha > 30,因为它减少了过度拟合和测试错误。但如果这是一个回归问题,它的预测将接近测试集的平均值,它可能无法很好地捕捉到异常。
所以我可以说只要你的测试准确性没有开始下降,你就可以增加它。
最后,当增加 reg_alpha 时,保持 max_depth 小可能是一个好习惯。
推荐阅读
- sql - 如何比较来自 2 个不同表的列?
- flutter - 如何使用应用栏在颤动中切换应用栏下方的自定义小部件?
- reactjs - React SlidingPane 标题隐藏在导航栏下
- scala - 在 Scala 3.0 中访问注释值
- java - java.lang.NoClassDefFoundError: org/apache/commons/lang3/Range
- javascript - 在新行中返回每个新数组项
- php - Laravel 上传图片
- ssl - 替换 Windows 中 OpenSSL 的默认 TLS 堆栈
- python - 如何使用 python/pandas 从这个网页读取表格?
- node.js - 是否可以在后端添加回调方法以在查询完成后执行?