python sklearn svm模型的保存与加载调用
对于机器学习的一些模型,跑完之后,如果下一次测试又需要重新跑一遍模型是一件很繁琐的事,这时候我们就需要保存模型,再加载调用。
楼主发现有这些保存模型的方法,网上有很多错误的例子,所以给大家在整理一下。(python3)
1.利用pickle
import pickle model.fit(train_X, train_y) s=pickle.dumps(model) f=open('svm.model', "wb+") f.write(s) f.close() print ("Done\n") 模型保存 这里的model已经是生成好的模型了,注意一定要用"wb+",否则会报错
f2=open('svm.model','rb') s2=f2.read() model1=pickle.loads(s2) expected = test_y predicted = model1.predict(test_X) 模型调用,注意读取方式'rb',否则会报错
2.利用joblib
from sklearn.externals import joblib model.fit(train_X, train_y) joblib.dump(model, "train1_model.m") print ("Done\n") 模型读取
model1 = joblib.load("train1_model.m") expected = test_y predicted = model1.predict(test_X) 模型调用
相对于上一方法,这个方法写起来简单明了多了。
好像还有cv方法的,楼主没有尝试。
这里的调用仅限在同一个py文件中,如果在另外一个py文件中调用,预测结果会出错,具体原因楼主也不清楚,楼主也一直在找一个在另外一个py文件中调用模型的方法,如果大家知道的话,也希望能告诉楼主,感谢!
考虑到如果预测数据又需要跑一遍模型,楼主的建议是,把保存模型的过程写进函数里面,下次不再调用该函数即可。
python sklearn svm模型的保存与加载调用相关推荐
- python sklearn: 模型(如 SVM,PCA等)的保存与加载调用
sklearn 的官方文档提供了两种模型的保存与加载方法:用pickle和joblib. 官方文档建议,在scikit-learn的特定情况下,最好使用joblib代替pickle. 两种模型的保存与 ...
- TensorFlow2.0:模型的保存与加载
** 一.权重参数的保存与加载 ** network.save_weights('weights.ckpt') network.load_weights('weights.ckpt') 权重参数的保存 ...
- [TensorFlow深度学习入门]实战七·简便方法实现TensorFlow模型参数保存与加载(ckpt方式)
[TensorFlow深度学习入门]实战七·简便方法实现TensorFlow模型参数保存与加载(ckpt方式) 个人网站–> http://www.yansongsong.cn TensorFl ...
- pytorch保存模型pth_Day159:模型的保存与加载
网络结构和参数可以分开的保存和加载,因此,pytorch保存模型有两种方法: 保存 整个模型 (结构+参数) 只保存模型参数(官方推荐) # 保存整个网络torch.save(model, check ...
- Pytorch:模型的保存与加载 torch.save()、torch.load()、torch.nn.Module.load_state_dict()
Pytorch 保存和加载模型后缀:.pt 和.pth 1 torch.save() [source] 保存一个序列化(serialized)的目标到磁盘.函数使用了Python的pickle程序用于 ...
- pytorch模型的保存与加载
我们先创建一个模型,使用的是pytorch笔记--简易回归问题_刘文巾的博客-CSDN博客 的主体框架,唯一不同的是,我这里用的是torch.nn.Sequential来定义模型框架,而不是那篇博客里 ...
- torch.save()模型的保存于加载
保存模型主要分为两类:保存整个模型和只保存模型参数 1.保存加载整个模型(不推荐): 保存整个网络模型,网络结构+权重参数 torch.save(model,'net.pth') 加载整个网络模型(可 ...
- python sklearn svm 模型训练后的参数说明
在调用sklearn的SVM时,如果设置verbose=True,模型训练结束后会显示一些训练过程的说明信息,如下(以下是OCSVM的返回结果): * optimization finished, # ...
- MXNET学习笔记(二):模型的保存与加载
当序列化 NDArray 的时候,我们序列化的是NDArray 中保存的 tensor 值.当序列化 Symbol 的时候,我们序列化的是 Graph. Symbol序列化 当序列化 Symbol 的 ...
最新文章
- 第三篇 (.net socket 与 android )
- .Net转Java.02.数据类型
- Flex 中取得当前服务IP地址
- 【数据展示】matplotlib设置画面大小
- 【 CodeForces - 1060B 】Maximum Sum of Digits(思维,构造)
- 【LeetCode笔记】78. 子集(Java、dfs)
- js设计模式之Constructor(构造器)
- 当Ext.js中xtype: 'checkboxfield'时,没勾选则向后台发送的数据没有字段的解决方法...
- 俄罗斯方块C++代码(转载他人代码)
- Java(但行好事 莫问前程) 1
- 如何分辨HDD/SSD硬盘接口?
- 电脑有网,microsoft edge浏览器无法上网
- vue对象属性为null_vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题...
- 数据库同步利器 otter 双A同步配置
- Linux磁盘分区并永久挂载
- ORACLE+SQL性能优化
- (亲测有效)荣耀手机一键激活Xposed框架方法
- windows九大权限的分析与利用
- 张蕾:北斗链将重新回到技术研发的道路上
- Star-Transformer
热门文章
- 如何在计算机增加桌面选项,如何增加计算机屏幕分辨率?
- 人们为什么要在微博、Facebook 等上发布自己的状态信息或者人生感悟?
- python传奇自动打怪脚本_传奇自动刷怪脚本,节省服务器资源
- C++STL之vector
- 天冷危险,疫情暴增7.5倍,还有暴雪、碎冰伤人!
- NVIDIA Jetson TX2
- [zt] 静态局部变量
- 使用python实现3D点云算法模型
- css3 分栏 滑页翻页,基于CSS3 column多栏布局实现水平滑页翻页交互
- 球球大作战测试服android版,球球大作战测试服