参考:https://blog.csdn.net/weixin_41977980/article/details/79917234
一、下载matlab
可以去官网下载,这里提供一个matlab2016a版本的:
链接:https://pan.baidu.com/s/18nxmZg0SlkyeSOQSVx8raQ
提取码:g34f
二、安装matlab
安装步骤请看:https://jingyan.baidu.com/article/e75057f2f099fcebc91a8906.html
三、下载Libsvm
https://www.csie.ntu.edu.tw/~cjlin/libsvm/,如果下载不了,可以点击下面链接,下载Libsvm-3.17版本的,
链接:https://pan.baidu.com/s/1L7ycMuduOm7UomZIo-6prw
提取码:i70y
四、安装Libsvm
下载的是.zip格式的,直接解压即可,解压在matlab的安装目录下的toolbox里;
打开matlab软件更改搜索路径:主页->设置路径,选择添加并包含子文件夹 D:\MATLAB\R2016a\toolbox\libsvm-3.17\matlab;
五,安装libsvm需要c语言编译器,vs,TDM-GCC都可以
本机没有c编译器,就安装的TDM-GCC http://tdm-gcc.tdragon.net/download 看清楚32还是64,页面点进去即可下载,根据提示就可以安装,
小提示:安装TDM-GCC是不要选择带空格命名的文件夹,比如这样。我直接选择在C:\
六,设置环境变量
我的电脑——右键“属性”——高级系统设置——右下角“环境变量”——新建
变量名:MW_MINGW64_LOC 设置为TDM-GCC-64的安装位置
七、查看一下 gcc 显示这样既可
八,重启matlab
提示:以下操作一定要在D:\MATLAB\R2016a\toolbox\libsvm-3.17\目录下进行,即打开matlab之后将工作路径设置成此目录。在MATLAB命令行内运行命令 >>setenv(‘MW_MINGW64_LOC’,folder),folder为TDM-GCC的安装位置,要加单引号 ,回车>>mex -setup(注意:两个单词中间有空格)
出现图上显示,即为操作正确。
继续在命令行键入>>make (如果没什么显示,就先把make.m文件打开一下,再运行),这里可能会出现如下问题:
这个问题,折磨了我很多次,试过卸了matlab 重新安装,依旧没用,最好检查一下vs是否正确安装了,然后就是将make文件下的值替换为COMPFLGAS
重新>>make
出现这样即为正确
此时将matlab中生成的libsvmread.mexw6,libsvmwrite.mexw64,svmpredict.mexw64,svmtrain.mexw64 四个带有.mexw6后缀的文件复制到windows文件夹中,全部替换。
六、测试一下
键入>>svmtrain 看是否正确
在libsvm-3.17下有一个文件(一定要注意此时路径应该是libsvm-3.17),名称为heart_scale
输入以下命令:
[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)
出现
即可