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