libsvm 安装过程中的一些错误和处理方式
作者:林子木
一、路径不对的各种问题,这个不细说了没什么意义
第一:设置matlab的path
方法file->set path->set sub path为什么要sub path因为只有这样才能将你要加的文件目录的子文件都加进去,否则只是加了你所要加的那个目录。如图
第二:设置当前路径
这个matlab中一个current folder(当前目录)设置为相应目录下的matlab子目录(依照3.11版本)如下
二、在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
生成上图中的几个文件
四、那就是开始测试数据了
如果你手头有heart_scale.mat那就直接 >>load heart_scale.mat就好了 会生成生成下面两个矩阵
如果你没有 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的结果一样
其他的测试程序就不写了,那些不会是问题的!