matlab平台下libsvm的安装

最近在做SVM分类时接触到了libsvm这个软件包,按照网上的教程下载了,但是在代码运行的时候出现了如下的错误:未定义函数或变量‘SVMcgForClass’。后来得益于Faruto的视频讲解,找到了错误的原因。视频链接分享如下:
https://v.youku.com/v_show/id_XMjc2NTY3MzYw.html
下面对LibSVM matlab平台下的下载进行总结,以便以后回顾。

一、LibSVM的下载

1.官方版本下载主页

找到对应的matlab版本
matlab平台下libsvm的安装
matlab平台下libsvm的安装
点zip.file下载即可。

2.Faruto版本

Faruto版本版本又称libsvm加强工具箱,它是作者Faruto在官方版本的基础上添加一些辅助函数的版本。
官方的核心函数是:svmtrain、svmpredict,在此基础上添加了一些参数寻优等辅助函数,例如:
SVMcgForClass.m、SVMcgForRegress.m、gaSVMcgForClass.m、gaSVMcgForRegress.m、gaSVMcgpForClass.m、psoSVMcgForClass.m、psoSVMcgForRegress.m、svmplot.m、classResult.m。因此你直接安装官方版本会报:未定义函数或变量 'SVMcgForClass’的错误。
下载地址:GitHub faruto的主页

二、LibSVM的安装

由于需要用到参数寻优,所以这里下载的是Faruto版本。下载完成后进行下面的操作。

1.设置路径

matlab里设置路径-添加文件夹,将Libsvm所在的文件夹添加到matlab工作搜索目录
(一定要选择下面的-添加并包含子文件夹,这样才能把所有子目录都添加进来)
matlab平台下libsvm的安装
这样所有的子文件夹都会被添加进来
matlab平台下libsvm的安装
点保存-关闭,ok

2、编译文件

Libsvm的原始版本是用c++编写的,为了能够在matlab平台下使用,需要用c++编译器进行编译,生成类似于.m文件的东西(.mexw64)。具体操作如下:
第一步:把当前文件夹切换到LIbSVM所在的根目录下的matlab文件夹
第二步:在命令窗口输入:mex -setup(mex空格-setup)
第三步:输入:make进行编译
结果如下:
matlab平台下libsvm的安装
编译成功后会看到当前目录下会出现若干个后缀为mexw64的文件。
至此,libsvm安装成功!
可以测试是否安装成功:(使用libSVM自带的heart_scale.mat文件)
matlab平台下libsvm的安装