当我们训练完成一个模型后,我们需要将模型保存起来,以便下次方便使用。
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]
本文介绍了在Python中如何使用pickle和joblib库来保存和加载机器学习模型。示例展示了如何用svm.SVC()创建并训练一个模型,然后使用pickle和joblib分别进行保存和加载,最后进行预测。pickle是Python内置的序列化模块,而joblib则提供了更快的模型保存和加载功能,尤其适合大型模型。

1372

被折叠的 条评论
为什么被折叠?



