matlab配置libsvm
Windows10 64bit
libsvm-3.23
matlab 2015a
SDK 7.1
一、基本安装
1.解压libsvm,将文件夹放入 ‘你的matlab安装路径\toolbox\libsvm-3.23\matlab’
2.matlab中设置路径,选择 add with subfolders... ,再选择libsvm文件夹
3.将matlab的目录改为libsvm所在的目录
4.在 Command Window 输入 mex -setup,会显示
>>mex –setup
MEX 配置为使用 'Microsoft Windows SDK 7.1 (C)' 以进行 C 语言编译。
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
要选择不同的语言,请从以下选项中选择一种命令:
mex -setup C++
mex -setup FORTRAN
选择 mex -setup C++
5.接着 输入make
>> make
使用 'Microsoft Windows SDK 7.1 (C)' 编译。
MEX 已成功完成。
使用 'Microsoft Windows SDK 7.1 (C)' 编译。
MEX 已成功完成。
使用 'Microsoft Windows SDK 7.1 (C++)' 编译。
找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmtrain.exp
找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmtrain.exp
MEX 已成功完成。
使用 'Microsoft Windows SDK 7.1 (C++)' 编译。
找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmpredict.exp
找不到 D:\MATLAB\R2014A\toolbox\libsvm-3.21\matlab\svmpredict.exp
MEX 已成功完成。
>>
6.以上步骤都成功后,可以测试一下,包里自带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); % test the trainingdata
会给出正确率结果。
二、产生的各种问题
问题1:步骤4不成功,会显示 No supported compiler or SDK was found ,使用链接:https://ww2.mathworks.cn/support/sysreq/previous_releases.html
进入链接后,选择自己matlab对应版本的Supported Compilers,打开一个pdf文件,找到对应32位或者64位,下载,按照顺序安装(需要连接网络)。
问题2:安装SDK提醒如下:
参考链接https://jingyan.baidu.com/article/27fa7326a8e2ca46f8271f25.html
再继续执行步骤4,5,6