sklearn 中 模型保存有兩種方式,版本不同,可查看官網,這里只做簡單記錄
方式一:序列化
序列化 的具體用法請自行研究
>>> 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
方式二:joblib 【推薦】
可以保存 機器學習 模型,也可以保存 數據標准化 等 方法;
import numpy as np from joblib import dump, load # from sklearn.externals import joblib # 不同版本的用法 from sklearn.preprocessing import StandardScaler clf = 333 dump(clf, '3.joblib') # 保存 clf = load('3.joblib') # 加載 print(clf) ### 示例:保存 數據標准化 模型 x = np.array([[2, 4, 3]]).T std = StandardScaler().fit(x) x_std = std.transform(x) print(x_std) # [[-1.22474487] # [ 1.22474487] # [ 0. ]] dump(std, 'std.joblib') std_store = load('std.joblib') x2 = np.array([[4, 2, 3]]).T print(std_store.transform(x2)) # [[ 1.22474487] # [-1.22474487] # [ 0. ]]
參考資料:
https://scikit-learn.org/stable/modules/model_persistence.html 官網
https://www.cnblogs.com/zichun-zeng/p/4761602.html