python中模型的保存和调用

python中模型的保存和调用

目录

  • 使用pickle进行保存和调用(需要配合open函数来使用)
  • 使用joblib进行保存和调用(用法更简单)

使用pickle保存和调用模型

我们可以使用pickle和open函数连用,来将我们的模型保存到本地

#要保存的模型
from sklearn.datasets import load_boston
from sklearn.ensemble import RandomForestRegressor
boston = load_boston()
X = boston.data
y = boston.target

reg = RandomForestRegressor(n_estimators=180)
reg.fit(X,y)
RandomForestRegressor(bootstrap=True, criterion='mse', max_depth=None,
                      max_features='auto', max_leaf_nodes=None,
                      min_impurity_decrease=0.0, min_impurity_split=None,
                      min_samples_leaf=1, min_samples_split=2,
                      min_weight_fraction_leaf=0.0, n_estimators=180,
                      n_jobs=None, oob_score=False, random_state=None,
                      verbose=0, warm_start=False)
#保存模型
import pickle
pickle.dump(reg,open("randommodel.dat","wb"))

注意采用二进制进行读入

#导入模型
load_model = pickle.load(open("randommodel.dat","rb"))
#使用新导入的模型
load_model.score(X,y)
0.9839061481873418

使用joblib保存和调用

joblib是scipy生态系统中的一部分,它为python提供保存和调用管道和对象的功能,处理numpy结果的数据尤其高效,对于很大的数据集和巨大的模型非常有用

#保存模型
import joblib
joblib.dump(reg,"saveagain.dat")
['saveagain.dat']
#导入模型
load_model = joblib.load("saveagain.dat")
#使用新导入的模型
load_model.score(X,y)
0.9839061481873418

在这两种保存方法下,我们都可以找到保存下来的dat文件,将这些文件移动到任意计算机上去使用。

发布了38 篇原创文章 · 获赞 9 · 访问量 2428

猜你喜欢

转载自blog.csdn.net/weixin_44264662/article/details/100987350
今日推荐