【问题标题】:What is the best way to save sklearn model?保存sklearn模型的最佳方法是什么?
【发布时间】:2018-03-17 09:30:03
【问题描述】:

我正在开发一个 python 桌面应用程序。这个应用程序做了一些预测。现在我使用 python 脚本训练我的 sklearn 模型,将模型的参数保存为 yaml 文件中的字典。然后,我将此 yaml 构建到我的 python 应用程序中。然后,当我使用该应用程序时,使用字典中的参数重新创建模型。我意识到,拥有不同版本 sklearn 的人会出错。我试图将我的模型保存在一个 pickle 文件中,但在这种情况下,当应用程序在具有不同版本 sklearn 的机器上运行时,它会产生一些警告。

【问题讨论】:

    标签: python scikit-learn


    【解决方案1】:

    或者,您也可以从经过训练的模型生成 Python 代码。这样您就消除了任何对象不兼容的可能性。这是一个可以帮助解决这个问题的工具https://github.com/BayesWitnesses/m2cgen

    【讨论】:

      【解决方案2】:

      我意识到,使用不同版本的 sklearn 的人会出错。

      在这种情况下,使用 virtualenvs 创建隔离的 Python 环境

      【讨论】:

        【解决方案3】:

        无法保证给定的 sklearn 模型在 sklearn 版本之间是兼容的。实际上,实现或内部 API 可能会在版本之间发生变化。查看更多信息here

        如果你考虑一个版本,最好的方法确实是腌制,而不是将参数保存在 yaml 文件中。使用 joblib 这样做会更好。查看更多信息here

        【讨论】:

          猜你喜欢
          • 2023-03-12
          • 2015-07-13
          • 2021-08-19
          • 2019-11-01
          • 2011-01-18
          • 2015-07-02
          • 2011-04-04
          • 1970-01-01
          相关资源
          最近更新 更多