我使用 joblib 将 jupyter 笔记本
.pynb
文件保存为 .pickle
格式。
我的机器学习模型是使用 pandas、numpy 和 statsmodels
python 库构建的。
我将拟合模型保存到名为 fitted_model
的变量中,以下是我使用 joblib 的方式:
from sklearn.externals import joblib
# Save RL_Model to file in the current working directory
joblib_file = "joblib_RL_Model.pkl"
joblib.dump(fitted_model, joblib_file)
我得到这个作为输出:
['joblib_RL_Model.pkl']
但是当我尝试从文件加载时,在新的 jupyter 笔记本中使用:
# Load from file
joblib_file = "joblib_RL_Model.pkl"
joblib_LR_model = joblib.load(joblib_file)
joblib_LR_model
我只得到这个:
并且没有型号。我期望在那里看到模型加载并按照原始笔记本看到图形输出。
最佳答案
与 open 一起使用,效果更好,因为它会自动打开和关闭文件。也有适当的模式。
with open('joblib_RL_Model.pkl', 'wb') as f:
pickle.dump(fitted_model, f)
with open('joblib_RL_Model.pkl', 'rb') as f:
joblib_LR_model = pickle.load(f)
我在 Colab 中的实现是 here 。检查一下。
关于python - 加载使用 joblib/pickle 保存的 ML 模型时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63650029/