方便的数据二进制存储

数组存储

ref:https://blog.csdn.net/Dust_Evc/article/details/127986584

.npy文件是numpy专用的二进制文件

  • np.save("D:/path/npp.npy", var):数组var会以未压缩的原始二进制格式保存在扩展名为 .npy 的文件中。
numpy.save(file, arr, allow_pickle=True, fix_imports=True)

—— 参数 ——
file :数据被保存到的文件或文件名。如果文件是一个字符串或路径,如果它还没有扩展名,将在文件名上添加一个.npy扩展名。如果文件是一个文件对象,那么文件名将不会改变。
allow_pickle: 允许使用Python pickles保存对象数组。不允许pickles的原因包括安全(加载pickled数据可以执行任意代码)和可移植性(pickled对象在不同的Python安装中可能无法加载)。默认值True
fix_imports :只有在强迫Python 3上对象数组中的对象以Python 2兼容的方式被腌制时才有用。
arr:要保存的阵列数据。

返回:将输入的数组存储在一个以npy为扩展名(.npy)的磁盘文件中。

  • numpy.load():读取 .npy 文件的数据,直接转换为 numpy 数组
numpy.load(file, mmap_mode=None, allow_pickle=True, fix_imports=True, encoding=’ASCII’)

—— 参数 ——
file:类文件对象,字符串,或pathlib.Path.要读取的文件。类文件对象必须支持 seek() 和 read() 方法。
mmap_mode:如果不是无,则使用给定的模式对文件进行内存映射(详细的内存映射模式见numpy.memmap)。 模式的描述)。
allow_pickle:允许加载存储在npy文件中的腌制对象数组。
fix_imports:只有在Python3上加载Python2生成的pickled文件时有用,其中包括包含对象数组的npy/npz文件。
encoding:只有在Python3中加载Python 2生成的pickled文件时有用,其中包括包含对象数组的npy/npz文件。
返回:存储在文件中的数据。对于.npz文件,返回的NpzFile类的实例必须被关闭,以避免文件描述符的泄露。

  • 注意:如果报错 Object arrays cannot be loaded when allow_pickle=False,需要改为如下:
np.load(path, allow_pickle=True)

sklearn模型存储

ref:http://t.zoukankan.com/zichun-zeng-p-4761602.html
使用python的机器学习包sklearn的时候,如果训练集是固定的,我们往往想要将一次训练的模型结果保存起来,以便下一次使用,这样能够避免每次运行时都要重新训练模型时的麻烦。

在python里面,有一个joblib可以实现将模型保存,并将保存后的模型取出用于不同的测试集:

from sklearn import svm
from sklearn.externals import joblib

#训练模型
clf = svc = svm.SVC(kernel='linear')
rf=clf.fit(array(trainMat), array(listClasses))

#保存模型
joblib.dump(rf,'rf.model')

#加载模型
RF=joblib.load('rf.model')

#应用模型进行预测
result=RF.predict(thsDoc)
  • 需要注意:这里执行joblib.dump()之后,有可能还会生成若干个以rf.model_XX.npy为命名格式的文件,这有可能是用于保存模型中的系数等的二进制文件。其具体生成的文件的个数还会随调用到的分类器的不同,以及分类器中迭代次数的参数的不同而变,有时候会生成几个,有时候会生成几百个。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值