您的位置:首页 > 其它

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

2012-03-23 22:47 323 查看
作者:林子木

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

第一:设置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');
注意:由于heart_scale在libsvm-3.11目录下,不是在matlab下,所以直接用libsvmread命令会报错,要买改变当前路径,或者使用[heart_scale_label,heart_scale_inst] = libsvmread('../heart_scale');../代表返回上层路径。

结果跟前面的.mat的结果一样
其他的测试程序就不写了,那些不会是问题的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: