Matlab 安装libsvm-3.1工具箱介绍

来源:互联网 发布:手机淘宝旺旺名在哪里 编辑:程序博客网 时间:2024/06/05 00:36

安装前说明:

本人操作系统是win7 64位,本机装有VS2010(拥有VC++2010编译器),Matlab2010b。
因此本教程只对这两种配置测试。
理论上,只要C++编译器版本高于libsvm要求编译的环境即可。

下载libsvm-3.1

提供免费的下载地址

  http://download.csdn.net/detail/tbfuyunweiding/6233177


安装步骤

第一步: 添加工具包目录到搜索目录:

File  ----- Set  Path------Add with Subfolders ----选择libsvm3.1 ---- save ---close
 这一步的目的相信安装过遗传算法等工具箱的人是知道的,就是在你用到
工具箱里的函数时,MATLAB会根据搜索目录查找到该函数,否则MATLAB
会报错,因为它找不到调用的函数。

第二步:选择可用C++编译器

这一步主要是为了选择一个合适的C++编译器编译libsvm里的函数
Libsvm的原始版本是用c++写的,为了能在MATLAB平台下使用,需要用C++编译器编译一下,生成Matlab的调用函数文件,这样才可以在MATLAB平台下使用libsvm中的函数

由于我提供的是libsvm3.1版本,如果你的Matlab是2010B版本,建议用VS2010中的VC++2010版本的编译器。否则可能会有兼容性问题。

下面介绍怎么选择编译器:

 一: 在MATLAB窗口输入: mex -setup (注意mex和-setup中间的空格)
二:出现如下:

大概意思就是问你是否要定位到本机已经安装的编译器的位置。
因为我本机已经有VC++2010编译器,所以选择y,显示如下:

三: 选择VC++2010编译器即输入:1 回车
显示如下:

这是要你确认你选择的编译器,选择 : y
显示如下:

大概意思就是说如果用VC++2010编译器需要VC++2010运行库可用,因为VS2010的编译环境这些东西都包含,因此我们可以进行
下一步编译操作,如果是下载单独的编译包童鞋,请确保你的电脑含有该运行库。

四:编译libsvm里的函数成m文件。
将当前目录(Current Floder)转到libsvm里的Matlab包:


可以看到图中有个make.m文件,这就是我们接下来需要它进行编译的函数。
在MATLAB命令窗处 :make 
此时可以看到区间内多出几个.mexw64后缀的文件,这就是编译成的函数
如图:
图中svmtrain.mexw64,svmpredict.mexw64函数就是编译后产生的
mexw64这个编译后的文件是加密过的,打开是乱码,函数本身没有帮助
–运行help svmtrain得到的是MATLAB自带的svmtrain函数的帮助文件
–运行help svmpredict会有如下报错svmpredict not found.
–工具箱中的README文件是官方的说明文档
此时应该说已经安装好了工具箱。

测试:

以前的教程都是拿heart_scale.mat这个官方的数据进行测试的,但是libsvm3.1中已经没有这个数据了,因此我从老版本中
提供该数据测试输入(数据在最后提供)
>> load heart_scale
>> model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');
结果如下:

测试结果安装成功。
下面另提供地址:(抱歉,刚才忘记放进工具包,不过都是免费下载)
http://download.csdn.net/detail/tbfuyunweiding/6233517


最后祝大家都安装成功。
由于本人的配置和大家不一样,可能会出现问题,如有其他问题可以参考下面的:
http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=61234文章。
若文中有什么不对欢迎指出。
令本人提供许多智能算法的高清免费扫描
版电子书,若有需要请到我上传的链接处
下载,本人宗旨是共同进步。
谢谢!