保存scikit-learn分类器会导致内存错误

ice*_*oal 5 python pickle python-2.7 scikit-learn

我的机器有16G RAM,培训程序使用高达2.6G的内存.但是当我想将分类器(使用sklearn.svm.SVC大型数据集进行训练)保存为pickle文件时,它会占用我的机器无法提供的太多内存.渴望了解保存分类器的任何替代方法.

我试过了:

  • picklecPickle
  • 转储为wwb
  • fast = True

它们都不起作用,总是引发MemoryError.有时文件已保存,但加载它会导致ValueError: insecure string pickle.

先感谢您!

更新

谢谢你们.我没有尝试过joblib,它在设置后工作protocol=2.

Pul*_*Jha 2

我建议使用 sci-kit learn 中的核外分类器。这些是批量学习算法,将模型输出存储为压缩稀疏矩阵,并且非常省时。

首先,以下链接确实对我很有帮助。

http://scikit-learn.org/stable/auto_examples/applications/plot_out_of_core_classification.html