matlab下使用c和libsvm工具箱的方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一步 安装及配置TDM-GCC
安装TDM-GCC 默认路径
win系统下新建系统环境变量MW_MINGW64_LOC 键值:C:\TDM-GCC-64
在MATLAB上将TDM-GCC目录及子目录统统包括进来
在MATLAB上运行 >>setenv('MW_MINGW64_LOC','C:\TDM-GCC-64');(c:\TDM-GCC-64是安装目录)
>>mex -setup
第二步 libsvm问题
下载libsvm3.21
1、下载libsvm,我下载的是libsvm-3.21版本,大家也可以去这里下载:下载libsvm-3.21
2、解压后放到matlab的安装目录下,我个人喜欢直接放到matlab下面的toolbox里面。
3、在matlab主界面找到“设置路径”,添加文件夹及其子文件,把整个libsvm-3.21全添加进去。
4、切换matlab运行目录致:D:\MATLAB\R2016a\toolbox\libsvm-3.21\matlab,在命令行输入make【注意】将make.m文件里的CFLAGS 替换成COMPFLAGS(make时出错的解决办法)】,会看到make出带有mexm64后缀名的文件,这就成功了。
5、拷贝4步骤中matlab文件夹下所有make出来的文件,到libsvm-3.21\windows文件夹下,统统替换。
验证是否成功:
(使用数据libsvm试验数据下载
可以将下载后的heart_scale.mat数据复制到刚才的目录下(其实无所谓)。然后输入libsvm工具箱 特有的语句,就可以验证成功与否了:)
>> [heart_scale_label,heart_scale_inst] =libsvmread('heart_scale');
>> model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');
>> [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model);
输出:
*
optimization finished, #iter = 134
nu = 0.433785
obj = -101.855060, rho = 0.426412
nSV = 130, nBSV = 107
Total nSV = 130
Accuracy = 86.6667% (234/270) (classification)