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