Windows 64 位 Matlab R2013a 环境下安装 libsvm

来源:互联网 发布:电动剃须刀,知乎 编辑:程序博客网 时间:2024/04/19 18:26

Windows 64 位 Matlab R2013a 环境下安装 libsvm

其实这篇教程已经写的很详细了http://www.matlabsky.com/thread-11925-1-1.html,就是在安装过程中会出现一些小问题。

主要问题是:

1.不一定非要配置VC++6.0,已经安装了vs的童鞋没必要重新装vc了,直接用vs2010即可。

2.本人用的是64位系统下Matlab R2013a,所以heart_scale无法直接load,需要采用libsvmread函数。

3.最初我按照上面教程来训练[predict_label, accuracy]=svmtrain(heart_scale_label,heart_scale_inst);少了属性, dec_values,因此一直没有accuracy结果,纠结了半天。然后参考下面博客,改为[predict_label, accuracy, dec_values]就可以了

这三个问题在下面内容中找到了答案。libsvm的新手可以结合将两篇教程完美结合,会成功的!o(∩_∩)o

[下面内容转自http://www.cnblogs.com/zhouzhuo/p/3716213.html]

在这种环境下, 安装 libsvm 可以说是傻瓜似的了, 但就我搜出的 libsvm 安装教程来看, 以前的 libsvm 安装起来是有点麻烦的

目前最新版本是 libsvm 3.18, 按照 [1] 的描述, 将 libsvm 的 windows 目录放到 matlab 目录中, 我想博主说的这个目录应该不是 matlab 的当前工作目录, 而是 matlab 的搜索目录. 因为当前工作目录只有一个, 你把它设为 windows, 那么 libsvm 目录下的 heart_scale 数据集就没法直接 load 进来了(需要设置路径), 关于 matlab 搜索目录和当前目录的更多知识可以参考 [2]

windows 目录加入到 matlab 2013 搜索路径可以这样做:

1. 将 libsvm 目录放到当前工作目录下

2. 在当前工作目录下找到 windows 目录, 右键 Add to Path 即可

 

然后, 配置就已经结束了, libsvm 3.18 也没有 什么 C++ 数据集, matlab 数据集的区别了 [3], 直接 load 数据.

测试代码 [1]

[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');

model = svmtrain(heart_scale_label,heart_scale_inst, '-c 1 -g 0.07');

[predict_label, accuracy, dec_values] =svmpredict(heart_scale_label, heart_scale_inst, model); % test the trainingdata

 

你会看到结果:

Accuracy = 86.6667% (234/270) (classification)

 

Reference

[1] http://blog.csdn.net/lqhbupt/article/details/8596349

[2] http://www.matlabsky.com/thread-11925-1-1.html

[3] http://blog.csdn.net/abcjennifer/article/details/7370177

1 0