sklearn 的官方文档提供了两种模型的保存与加载方法:用pickle和joblib。 官方文档建议,在scikit-learn的特定情况下,最好使用joblib代替pickle。
两种模型的保存与加载的示例如下:
1. pickle 法
>>> from sklearn import svm
>>> from sklearn import datasets
>>> clf = svm.SVC()
>>> X, y= datasets.load_iris(return_X_y=True)
>>> clf.fit(X, y)
SVC()
>>> import pickle
>>> s = pickle.dumps(clf)
>>> clf2 = pickle.loads(s)
>>> clf2.predict(X[0:1])
array([0])
>>> y[0]
0
2. joblib法
>>> from joblib import dump, load
>>> dump(clf, 'filename.joblib')
>>> clf = load('filename.joblib')