配置:matlab版本为MATLAB(R2014a),c/c++编译器为vs C++2012(64位)。
参考网站资料:
http://blog.youkuaiyun.com/ziyoupingguo2012/article/details/45201733
http://blog.youkuaiyun.com/tyfengyu/article/details/44487391
http://blog.youkuaiyun.com/heroafei/article/details/43273373
1. 版本说明:
libsvm: 3.20 (http://www.csie.ntu.edu.tw/~cjlin/libsvm/)
下载之后解压到系统盘文件夹 (为了方便查找和MATLAB放在一起)
2. 操作流程:
参考 http://blog.youkuaiyun.com/ziyoupingguo2012/article/details/45201733,并改进。
A.设置path
File->set path ->add with subfolders->加入libsvm-3.20中matlab文件夹的路径
参考(http://blog.youkuaiyun.com/garfielder007/article/details/49405959)
B. 在matlab中编译m文件为exe文件
参考:http://www.cnblogs.com/wb-DarkHorse/archive/2013/07/04/3171621.html
mbuild -setup
mcc -m make.m
如果出现错误
使用Matlab2014a编译jar包时报错:
Test checkout of feature 'Compiler' failed.
经查证是因为Matlab2014a破解不全的问题
搜到一个网友的解决方案:
适用于已安装compiler但破解不完全的,http://download.youkuaiyun.com/detail/heroafei/8407631,下载后解压,把install.jar以及相应位数的三个文件(compiler.dll,mcc.exe,libmwservices.dll)复制到对应位置替换即可,另外把license.lic改为与MATLAB\licenses文件夹下的那个lic文件同名,复制并替换之。 MATLAB\R2014a\java\jar\install.jar MATLAB\R2014a\bin\win32\compiler.dll MATLAB\R2014a\bin\win32\mcc.exe MATLAB\R2014a\bin\win32\libmwservices.dll |
C.加载数据集
[heart_scale_label,heart_scale_inst]= libsvmread('heart_scale');
model = svmtrain(heart_scale_label,heart_scale_inst);
[predict_label,accuracy,decision_values] = svmpredict(heart_scale_label,heart_scale_inst,model,1);
如果出现错误
can’t open input file heart_scale
将LibSVM文件夹设置为当前工作目录;
如此,再执行libsvmread命令,即可将数据文件读取进来进行一些基本的处理
结果:
Accuracy = 86.6667% (234/270) (classification)