libsvm 安装过程中的一些错误和处理方式

作者:林子木

一、路径不对的各种问题,这个不细说了没什么意义

第一:设置matlab的path

方法file->set path->set sub path为什么要sub path因为只有这样才能将你要加的文件目录的子文件都加进去,否则只是加了你所要加的那个目录。如图

libsvm 安装过程中的一些错误和处理方式

第二:设置当前路径

这个matlab中一个current folder(当前目录)设置为相应目录下的matlab子目录(依照3.11版本)如下


libsvm 安装过程中的一些错误和处理方式

二、在make的时候不成功
操作,必须保证第一门设置目录正确的前提下

step1:输入>>mex -setup

step2:

Please choose your compiler for building external interface (MEX) files:
Would you like mex to locate installed compilers [y]/n? 是否让matlab自动检测编译器 可以选y

step3:

Select a compiler:
[1] Lcc-win32 C 2.4.1 in E:\PROGRA~1\MATLAB\R2010a\sys\lcc
[2] Microsoft Visual C++ 2008 SP1 in e:\Program Files\Microsoft Visual Studio 9.0
[3] Microsoft Visual C++ 6.0 in E:\Program Files\Microsoft Visual Studio
[0] None

[1]matlab 自带的不能用 其他的如果有的话 就相应的选择就行

我选择了 【2】

step4:

Compiler: Microsoft Visual C++ 2008 SP1
Location: e:\Program Files\Microsoft Visual Studio 9.0
Are these correct [y]/n? 路径是否正确 是的就选y

如果没有自动检测出来依次的话step2就选【n】就可以,再顺着提示下来。

三、设置好VC编译器之那么就开始 编译了

>>make

libsvm 安装过程中的一些错误和处理方式

生成上图中的几个文件

四、那就是开始测试数据了

如果你手头有heart_scale.mat那就直接 >>load heart_scale.mat就好了 会生成生成下面两个矩阵

libsvm 安装过程中的一些错误和处理方式

如果你没有 heart_scale.mat(官方现在都不给了,给的都是VC++下的格式 所以load 会报错:heart_scale must be same as previous lines)
所以必须使用给的一个函数,转化数据此函数为libsvmread()

使用如下:[label_vector, instance_matrix] = libsvmread('filename');

此处为了跟官方统一名称可以[heart_scale_label,heart_scale_inst] = libsvmread('heart_scale');

结果跟前面的.mat的结果一样

其他的测试程序就不写了,那些不会是问题的!