1、下载libsvm。
2、解压至指定的目录,将libsvm 解压至D:\MATLAB\toolbox下,当然也可以解压到你喜欢的目录下(没有验证是否可行)。
注意:整个环境的配置都是在libsvm\matlab下进行的,如若不是,可能会在编译make.m文件时出错。
3、设置路径:
因为下载下来的接口中,包含svm的一些源文件,没有可执行的exe文件,所以,必须先将svmtraim等源文件编译为MATLAB可以使用的dll等文件。
注意,上面完成set path 之后,还要继续添加add with subfolders...
D:\matlab\toolbox\libsvm
4、编译libsvm
我先用的编译器是VS2010
首先在matlab下面设置当前目录为 D:\matlab\toolbox\libsvm\matlab
5、执行编译
在MATLAB的命令窗口中输入
>>mex setup
显示
Please choose your complier for buildding external interface(MEX)files:
would you like to locate installed sompliers [y]/n?
>>y
显示:
Select a compiler:
这些按照提示完成编译器的选择即可,此处不再赘述。
编译器选好以后,在命令窗口输入make
>>make
可以看到新编译出的四个文件:libsvmread.mexw32,libsvmwrite.mexw32,svmtrain.mexw32,svmpredict.mexw32
在命令窗口中输入:
>>load heart_scale;
此处需要注意,libsvm提供的是C++版本的数据集heart_scale,这里需要加载matlab版办的数据集,那么,这两个数据集有什么不同呢?
C++版本的数据集里面,如果某一个样本俄某一个特征值为0,这个特征值可以不写在数据集中,但是在matlab中则必须写出来。否则就会报错:
在实验过程中,下载matlab的数据集,并且,放在当前目录环境下,则执行下列语句
执行到此,libsvm则配置成功,接下来便可进行svm的实验。