21.1 保存和加载scikit-learn模型
问题描述
有一个训练好的scikit-learn模型,你想保存它并且在其他地方加载它。
解决方案
把模型保存为pickle文件:
一旦模型被保存,我们就可以在目标应用(比如Web应用)上使用scikit-learn来加载模型:
讨论
在生产中使用模型的第一步,就是把模型保存成文件,使它可以被另一个应用或者工作流加载。把模型保存为pickle文件就能达到这个目的。
pickle是Python特有的数据格式。具体来讲,我们使用joblib(它是一个库,作用是让pickle文件适用于NumPy数组很大的情况,在scikit-learn训练后的模型中,这种情况很常见)来保存模型。
当保存scikit-learn模型时,要留心,因为你所保存的模型有可能在各个版本的scikitlearn中不兼容,所以在文件名中写上模型所用的scikit-learn版本就会很有用:
本书评论