xgboost是如何实现early stopping防止过拟合的?

  统计/机器学习 监督式学习    浏览次数:129        分享
0

xgboost是迭代算法,迭代次数过多会导致过拟合。early stopping就是中断迭代,xgboost里提前中断的标准是什么?具体是如何实现的呢?

 

wxjjnss   2019-03-10 12:05



   1个回答 
6

xgboost里实现早停是用了比较贪婪的简单做法。

首先,先划分好训练集和测试集;其次选定好测试的eval metric,比如回归的话就是rmse;如果训练过程中连续k轮boosting之后,测试eval metric没有变好,那么就进行早停。

k这个个数是自己设置的,在调用xgboost的时候,就是设置early_stopping_rounds。

SofaSofa数据科学社区 DS面经 问答 实战

xiaosu   2019-03-11 14:46

原来是这么简单粗暴的方法 - wxjjnss   2019-03-21 10:09


  相关主题

XGBoost损失函数中正则项的理解   1回答

xgboost有正则项为什么还会过拟合呢?   1回答

线下训练集和测试集防过拟合   1回答

为什么过拟合不好?   8回答

训练集加入噪声防止over fitting还是加剧overfitting?   3回答

unsupervised learning也会over-fitting吗?   2回答

Random Forest 过拟合有什么好办法?   3回答

决策树模型有什么特点以及如何防止过拟合?   2回答

随机森林会发生过拟合(overfitting)吗?   1回答

为什么lightgbm比xgb快?   2回答

stack多个xgboost效果并不理想   6回答

为啥Xgboost比GradientBoost好那么多?   6回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!