欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

机器学习模型保存与持久化

程序员文章站 2022-07-13 09:00:30
...

sklearn官网提供了两种保存model的方法:

from sklearn.ensemble import RandomForestClassifier
from sklearn import datasets
import pickle

#方法一:python自带的pickle
(X,y) = datasets.load_iris(return_X_y=True)
rfc = RandomForestClassifier(n_estimators=100,max_depth=100)
rfc.fit(X,y)
print(rfc.predict(X[0:1,:]))
#save model
f = open('saved_model/rfc.pickle','wb')
pickle.dump(rfc,f)
f.close()
#load model
f = open('saved_model/rfc.pickle','rb')
rfc1 = pickle.load(f)
f.close()
print(rfc1.predict(X[0:1,:]))


#方法二
## 模型保存/持久化
# 在机器学习部署的时候,实际上其中一种方式就是将模型进行输出;另外一种方式就是直接将预测结果输出
# 模型输出一般是将模型输出到磁盘文件
from sklearn.externals import joblib

joblib.dump(ss, "data_ss.model") ## 将标准化模型保存
joblib.dump(lr, "data_lr.model") ## 将模型保存

ss = joblib.load("data_ss.model") ## 加载模型
lr = joblib.load("data_lr.model") ## 加载模型

由于方法二速度快,常用方法二