SKlearn - 模型保存

Posted yanshw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SKlearn - 模型保存相关的知识,希望对你有一定的参考价值。

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

以上是关于SKlearn - 模型保存的主要内容,如果未能解决你的问题,请参考以下文章

使用保存的 sklearn 模型进行预测

sklearn训练模型的保存与加载

保存的 sklearn 模型的预测与训练过的模型不同

sklearn如何使用保存的模型来预测新数据

SKlearn - 模型保存

sklearn 中模型保存的两种方法