【问题标题】:Salvaging a XGBoostClassifier from version 0.6从 0.6 版本中挽救一个 XGBoostClassifier
【发布时间】:2021-06-04 12:07:21
【问题描述】:

我在 0.6 版期间使用他们的 sklearn api 训练了 XGBoost 模型,因此分类器属于 XGBClassifier() 类。我已将其保存为 pickle 格式。

但是,最近我需要将整个环境迁移到 Python 3.6,以及 XGBoost 1.0 的更新版本。

我尝试按照他们关于加载/保存模型的指南 (https://xgboost.readthedocs.io/en/latest/tutorials/saving_model.html),但旧的 XGBClassifer 模型似乎没有任何这些方法。

如何处理这个经过训练的 XGBClassifier() 对象,以便将其转换为可在 XGBoost 1.0 中加载?

tldr; 我有一个使用他们的 sklearn api (XGBClassifier()) 从 0.6 版开始训练的腌制 XGB 模型,如何将其转换为更新的版本以便 XGBoost 1.0 可以打开它?

【问题讨论】:

    标签: xgboost


    【解决方案1】:

    刚刚找到解决办法。

    所以对于旧的 sklearn api XGBClassifier,您可以将模型保存为二进制格式。所以你正常加载泡菜然后你调用隐藏的助推器对象并调用save_model:

    clf = pkl.load(model,'rb') clf._booster.save_model('clf.model')

    然后在更新的 XGBoost 1.0 环境中,您可以这样做:

    clf = xgb.XGBoostClassifier() clf.load_model('clf.model')

    就是这样!

    【讨论】:

      猜你喜欢
      • 2011-12-01
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-06
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多