scikit-learn_模型的保存与加载

主要介绍scikit-learn中的模型的保存与加载
我们训练好了一个Model 以后总需要保存和再次预测, 所以保存和读取我们的sklearn model也是同样重要的一步。这次主要介绍两种保存Model的模块pickle与joblib。


Demo.py

import pickle
from sklearn.externals import joblib
from sklearn.svm import SVC
from sklearn import datasets

# 定义分类器
svm = SVC()

# 加载iris数据集
iris = datasets.load_iris()
# 读取特征
X = iris.data
# 读取分类标签
y = iris.target

# 训练模型
svm.fit(X, y)

# 第一种:保存成python支持的文件格式pickle, 在当前目录下可以看到svm.pickle
with open('svm.pickle', 'wb') as fw:
    pickle.dump(svm, fw)
# 加载svm.pickle
with open('svm.pickle', 'rb') as fr:
    new_svm = pickle.load(fr)
    print (new_svm.predict(X[0:1]))
    
    
# 第二种:保存成sklearn自带的文件格式
joblib.dump(svm, 'svm.pkl')
# 加载svm.pkl
new_svm = joblib.load('svm.pkl')
print (new_svm.predict(X[0:1]))

结果:

[0] #第一种保存方式产生结果
[0] #第二种保存方式产生结果

最后可以知道joblib在使用上比较容易,读取速度也相对pickle快。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容