Machine learning Libsvm以二进制格式保存模型文件
我正在为libsvm训练一个巨大的数据文件,结果训练文件太大。有没有办法以二进制格式保存libsvm库模型文件 如果您使用的是Matlab: 下载并(这已经包含在libsvm中,您可以尝试使用原始版本,但如果不起作用,请尝试此链接)到您的libsvm目录。编译Mex文件(Machine learning Libsvm以二进制格式保存模型文件,machine-learning,svm,libsvm,Machine Learning,Svm,Libsvm,我正在为libsvm训练一个巨大的数据文件,结果训练文件太大。有没有办法以二进制格式保存libsvm库模型文件 如果您使用的是Matlab: 下载并(这已经包含在libsvm中,您可以尝试使用原始版本,但如果不起作用,请尝试此链接)到您的libsvm目录。编译Mex文件(Mex svm_savemodel.c),然后它应该可以工作: %save model model fid = fopen('model.bin','w'); model = fwrite(fid, model, 'int16
Mex svm_savemodel.c
),然后它应该可以工作:
%save model model
fid = fopen('model.bin','w');
model = fwrite(fid, model, 'int16');
%load('model.mat');
fid = fopen('model.bin','rb');
model = fread(fid, model, 'int16');
svm_savemodel(model,'model.model');
如果您使用的是C++:
有一个将模型保存到文件的函数:
int svm_save_model(const char *model_file_name, const struct svm_model *model);
更多详细信息包含在中。它以文本格式存储文件。我希望它以二进制格式存储,因为文件的大小非常大。@Krish Matlab可以将数据作为二进制文件写入。我不在C上尝试,但我想C也可以做同样的事情