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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM