当我们训练完成一个模型后,我们需要将模型保存起来,以便下次方便使用。
pickle
pickle是python自带的保存模型的方法。
保存模型:
from sklearn import svm
from sklearn import datasets
import pickle
clf = svm.SVC() # 创建一个SVC模型
iris = datasets.load_iris()
X, y = iris.data, iris.target
clf.fit(X, y) # 训练模型
# 保存模型
with open('save/clf.pickle', 'wb') as f:
pickle.dump(clf,f)
加载模型:
from sklearn import svm
from sklearn import datasets
import pickle
iris = datasets.load_iris()
X, y = iris.data, iris.target
# 加载模型
with open('save/clf.pickle', 'rb') as f:
clf2 = pickle.load(f)
print(clf2.predict(X[0:1]) # 加载了模型之后就可以进行预测了 输出[0]
joblib
joblib 比pickle更快,使用了多线程并行处理。
保存模型
import joblib
clf = svm.SVC()
iris = datasets.load_iris()
X, y = iris.data, iris.target
clf.fit(X, y)
joblib.dump(clf, 'save/clf.pkl')
加载模型
import joblib
clf3 = joblib.load('save/clf.pkl')
print(clf3.predict(X[0:1])) # 输出[0]