在Matlab中配置libsvm

一般步骤:

1.下载libsvm安装包,下载后解压,建议将解压文件放在Matlab安装路径的toolbox文件夹下“..\MATLAB\R2014a\toolbox\libsvm-3.24”;

2.打开matlab,在命令行窗口输入“mex -setup -v”查看当前可以利用的编译器,正确安装了SDK的时候此步不会出现问题,如下图所示。点击选择“mex -setup C++”,再输入make编译libsvm-3.24\matlab文件夹中的make.m。

此步骤的作用是将libsvm-3.24\matlab中的c语言代码编译成mex格式,编译后生成四个后缀为.mexw64的文件——libsvmread.mexw64、libsvmwrite.mexw64、svmtrain.mexw64、svmpredict.mexw64。

简单的两步已经完成了libsvm在matlab中的部署,下面来进行测试。

3.打开matlab,将matlab的工作路径修改为:“D:\Program Files\MATLAB\R2014a\toolbox\libsvm-3.24\matlab”(也即4个.mexw64文件所在的路径),输入svmtrain出现其的使用方法如下图所示。

svmtrain函数的使用方法能够正确出现,基本表示libsvm已经安装正确了。

下面用一个简单的例子来进行验证。

将libsvm-3.24\heart_scale文件拷贝到libsvm-3.24\matlab路径下,MATLAB的工作路径也修改在..\libsvm-3.24\matlab路径下,此时在命令行窗口中输入下面的代码:

>> [heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');%读取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)%测试数据

运行后可以得到测试结果。

到此,一帆风顺的安装就结束了。然而有些道友可能会遇到一些问题。

可能遇到的问题。

  1. 可以将“..\libsvm-3.24\matlab”路径添加到matlab的工作路径中,这样方便之后的使用;
  2. matlab中自带的svm库中训练函数也命名为svmtrain,为了有所区别,可以将步骤2中生成的svmtrain.mexw64文件修改名称为libsvmtrain.mexw64;
  3. 利用mex编译文件时,如果出现未找到编译器的情况时,有如下的3种解决方法:

>> mex -setup
错误使用 mex
未找到支持的编译器或 SDK。您可以安装免费提供的 MinGW-w64 C/C++ 编译器;请参阅安装 MinGW-w64 编译器。有关更多选项,请访问 http://www.mathworks.com/support/compilers/R2014a/win64.html。

 ①访问错误提示中的链接http://www.mathworks.com/support/compilers/R2014a/win64.html跳转到编译器的下载界面,选择对应的MATLAB版本点击Details下载编译器,下载得到winsdk_web.exe安装包,正常安装的情况下可以解决问题。

然而,可能在安装的时候出现一些奇葩的问题,原因是.NET Framework版本不合适。转而采用第②种方法。

②采用MinGW64编译器,可参考详细方法

据统计60%的朋友,采用这种方法可以解决问题。然而还是有40%的朋友需要采用③中的方法。

③安装visual studio,利用visual studio中的SDK,来潜在的解决问题。

本人采用的matlab2014老版本,win10的新系统,多种安装不兼容的情况下,鉴于还要配置visual studio,于是直接安装了visual studio2013,于是问题神奇的得到了解决。

如果matlab和visual studio搭配安装的话,可以采用此种方法。

④【杀手锏级别解决方法】直接下载make.m编译后的四个文件,放在..\libsvm-3.24\matlab路径下即可,省去编译这一步骤,避免了使用mex。(当然最好还是安装一下编译器比较好)

因为种种原因我用了一天时间才把libsvm配置成功,希望各位道友配置顺利,遇到问题耐心探索,最终一定能得到解决!

这里是童小喵,趟大家没趟的坑,写大家都爱看的文。欢迎点赞支持~喵~

发布了4 篇原创文章 · 获赞 8 · 访问量 672

猜你喜欢

转载自blog.csdn.net/qq_36696964/article/details/104110300