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

  统计/机器学习 监督式学习    浏览次数:7548        分享
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面试题库 DS面经

xiaosu   2019-03-11 14:46

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


  相关讨论

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

为什么GBDT比RF更容易overfitting?

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

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

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

xgboost展开到二阶导数有什么好处啊

GBDT和XGBoost使用的都是回归树,原理上是怎么支持解决分类问题的?

为什么lightgbm比xgb快?

到底什么时候用lightgbm什么时候用xgb

xgboost为什么会有seed?随机性体现在哪里?

  随便看看

怎么把pandas.DataFrame转成torch.tensor的格式?

向量梯度下降优化的最佳步长?

关于方差膨胀因子(VIF)的问题

NLP里的OOV是什么意思?

两个独立的正态随机变量的乘积服从什么分布?