如何解决更新 scikit 模型使其与最新版本兼容
我有一个关于 scikit 模型和(复古)兼容性的问题。
我有一个在 Python 3.5 中从 scikit-learn 0.21.2 创建的模型(使用 joblib 保存),然后我使用 shap 版本 0.30 对其进行分析。自从我升级到 Ubuntu 20.04 后,我有了 Python 3.8(以及 scikit-learn 和 shap 的更新版本)。 由于新的包版本我无法使用 Python 3.8 加载它们,所以我使用 Py3.5 和原始包版本创建了一个虚拟环境。
现在我的问题是:有没有办法用 joblib 重新转储模型,以便我也可以用 Python 3.8 打开它们?我想用最新版本的包 shap 重新分析模型(但当然它有一个 scikit 版本要求会破坏 joblib 加载)。
或者,我还有什么其他选择? (我唯一不想要的就是重新训练模型)。
解决方法
scikit-learn 中没有标准的解决方案。如果您的型号受支持,您可以尝试sklearn-json。
虽然这不能解决您当前的问题,但您将来可以将模型保存为兼容性问题较少的格式 - 请参阅 scikit-learn 模型持久性页面中的 Interoperable formats 部分。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。