更新 scikit 模型,使其与最新版本兼容

问题描述 投票:0回答:2

我有关于 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 加载)。

或者,我还有什么其他选择? (我唯一不想做的就是重新训练模型)。

python scikit-learn pickle compatibility joblib
2个回答
4
投票

scikit-learn 中没有标准解决方案。如果您的模型受支持,您可以尝试sklearn-json

虽然这不能解决您当前的问题,但您将来可以以兼容性问题较少的格式保存模型 - 请参阅 scikit-learn 模型持久性页面中的可互操作格式部分。


0
投票

您的选择:

© www.soinside.com 2019 - 2024. All rights reserved.