如何从 xgboost 中的最佳迭代中保存模型?

Posted

技术标签:

【中文标题】如何从 xgboost 中的最佳迭代中保存模型?【英文标题】:How to save model from best iteration in xgboost? 【发布时间】:2021-02-20 11:32:32 【问题描述】:

我正在使用 XGBClassifier 进行图像分类。因为我是机器学习和 xgboost 的新手。但最近我知道,我在某些迭代后使用 pickle 库保存的模型是最后一次迭代,而不是最好的迭代。谁能告诉我如何从最佳迭代中保存模型?显然我正在使用提前停止。 如果我在提问时犯了任何错误,我深表歉意。请我尽快需要解决方案,因为我的论文需要它。 那些建议我最好的迭代的老问题请我的问题不同我想以泡菜格式保存最好的迭代,以便我将来可以使用它,而不仅仅是稍后在同一代码中使用它来预测。 谢谢。

【问题讨论】:

这能回答你的问题吗? XGBoost Best Iteration 不,我不想保存我的模型,以便以后我可以以 pickle 格式使用它。这只是告诉如何使用最佳迭代进行预测。请告诉我如何保存最佳迭代。现在使用代码,我正在使用它从上次迭代中保存模型,而不是最佳迭代模型。 【参考方案1】:

使用joblib dump/load保存/加载模型,并获取模型的booster,以获得最佳迭代

【讨论】:

以上是关于如何从 xgboost 中的最佳迭代中保存模型?的主要内容,如果未能解决你的问题,请参考以下文章

xgboost 文档有错吗? (早期停止轮次以及最佳和最后一次迭代)

如何保存和加载 xgboost 模型? [关闭]

用于 XGboost、不平衡数据集和最佳迭代次数 (n_iter) 的 RandomizedSearchCV

R语言构建xgboost模型:使用xgb.DMatrix保存加载数据集使用getinfo函数抽取xgb.DMatrix结构中的数据

每次迭代后保存spacy的NER模型

如何在使用交叉验证训练 xgboost 模型时跟踪进度?