保存模型
作者:
UnityTutorial
2016-11-03
编辑:
学习资料:
总算到了最后一次的课程了,我们训练好了一个Model 以后总需要保存和再次预测,
所以保存和读取我们的sklearn model也是同样重要的一步。这次主要介绍两种保存Model的模块pickle
与joblib
。
使用 pickle 保存 ¶
首先简单建立与训练一个SVC
Model。
from sklearn import svm
from sklearn import datasets
clf = 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)
#测试读取后的Model
print(clf2.predict(X[0:1]))
# [0]
使用 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
快。
分享到:
如果你觉得这篇文章或视频对你的学习很有帮助, 请你也分享它, 让它能再次帮助到更多的需要学习的人.
UnityTutorial没有正式的经济来源, 如果你也想支持 UnityTutorial 并看到更好的教学内容, 赞助他一点点, 作为鼓励他继续开源的动力.