本文主要是介绍11 保存模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
保存模型
- 保存模型
- pickle
- joblib
总算到了最后一次的课程了,我们训练好了一个Model 以后总需要保存和再次预测, 所以保存和读取我们的sklearn model也是同样重要的一步。sklearn官方文档主要介绍两种保存Model的模块pickle与joblib。
1 pickle
首先简单建立与训练一个SVCModel。
from sklearn import svm
from sklearn import datasetsclf = svm.SVC()
iris = datasets.load_iris()
X, y = iris.data, iris.target
clf.fit(X,y)
使用pickle来保存与读取训练好的Model。 (若忘记什么是pickle,可以回顾13.8 pickle 保存数据视频。)
import pickle #pickle模块#保存Model(注:save文件夹要预先建立,否则会报错)
with open('save/clf.pickle', 'wb') as f:pickle.dump(clf, f)#读取Model
with open('save/clf.pickle', 'rb') as f:clf2 = pickle.load(f)#测试读取后的Modelprint(clf2.predict(X[0:1]))# [0]
2 joblib
joblib是sklearn的外部模块。
from sklearn.externals import joblib #jbolib模块#保存Model(注:save文件夹要预先建立,否则会报错)
joblib.dump(clf, 'save/clf.pkl')#读取Model
clf3 = joblib.load('save/clf.pkl')#测试读取后的Model
print(clf3.predict(X[0:1]))# [0]
最后可以知道joblib在使用上比较容易,读取速度也相对pickle快。
这篇关于11 保存模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!