如何保存已经训练好的模型

如何保存已经训练好的模型

当我们训练好一个模型之后,下次还想用这个模型训练,我们就要先把这个模型保存下来,下次训练的时候直接导入这个模型就可以了,不然的话每次都得先跑一遍,这样的话太麻烦。

这里的话有两种方法:
1.使用python自带的pickle包

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,:]))
  1. 使用sklearn中的joblib模块
from sklearn.ensemble import RandomForestClassifier
from sklearn import datasets
from sklearn.externals import joblib
#方法二:使用sklearn中的模块joblib
(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
joblib.dump(rfc, 'saved_model/rfc.pkl')
#load model
rfc2 = joblib.load('saved_model/rfc.pkl')
print(rfc2.predict(X[0:1,:]))

版权声明:本文为weixin_42206101原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。