LibSVM 在matlab中的配置(包括SVDD、libsvm-faruto)
来源:互联网 发布:四物汤处方配比优化 编辑:程序博客网 时间:2024/05/16 10:03
LibSVM的配置是初学LibSVM者遇到的最麻烦的问题,网上已经有很多关于配置的教程但是质量参差不齐,很多内容已过时,本人综合网上的教程和自己的实践,整理出更为实用简洁的教程。
1. 需要的文件或程序:
MATLAB2010b及以后版本、VS2010及以后版本(其他版本没试过,这两个的组合肯定可以。不要装VC!装了的尽量卸载干净再装VS)
libsvm库下载:http://www.csie.ntu.edu.tw/~cjlin/libsvm/
libsvm-SVDD下载:http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#libsvm_for_svdd_and_finding_the_smallest_sphere_containing_all_data
libsvm-faruto下载:http://www.matlabsky.com/thread-17936-1-1.html
其中libsvm库是必须的,SVDD是官方给出的SVDD扩展包,faruto是faruto大神写的libsvm扩展包,推荐使用。
2. libsvm安装流程:
A.设置path
File->setpath ->add with subfolders->加入libsvm-3.18文件夹的路径
说明:在不同的matlab版本中加入路径的方式不太一样,但是都是找到setpath。这里的libsvm-3.18是我使用的版本,自行修改。其实不需要把所有子目录都加入进matlab路径,只需要根目录和与matlab相关的目录就行,但是如果不懂的话就全加吧。
B. 在matlab中编译
目的:将libsvm-3.18\matlab中 libsvmwrite.c 等 C++文件编译成 libsvmread.mexw64 等matlab文件,这样就可以在command window中被直接调用了。
注意:可能下载下来的文件夹中已经包含了libsvmread.mexw32或者libsvmread.mexw64等文件,不用管他,这一步还是需要的。
方法是,在command window下输入
mex -setup这里需要选择编译器,根据提示选择就行。高版本的matlab和VS配合下这里默认匹配好了。
然后需要输入
make然而大多数人会在这一步出错,一个可能的原因是在已经添加的路径里不只有libsvm里有make.m这个函数,matlab无法识别。解决方法是直接把libsvm3.18/matlab里的make.m拖到command window下运行。
如果能看到一串success就是成功了。
C.检测安装结果
在其他教程中,这一步往往需要load一个data,然而这个data在某些libsvm版本中并不自带。更简洁的方法是直接在command window下输入
svmtrain如果出现了如下图所示的画面,就算安装成功了
注意:原始版本的libsvm在-s参数下是没有567的,我是安装了SVDD拓展包所以有这三个。
至此,libsvm就算安装成功了。
3.SVDD拓展配置
svdd是一种SVM衍生的单分类器,不熟悉的话就不用装这个了。安装的方法和前面基本相同。
从libsvm官网下载svdd工具箱,目前使用libsvm3.18以及svdd3.18版本。
A.svdd工具箱里面有一个matlab文件夹和3个文件svm.cpp、svm.h、svm-train.c。
B.将matlab文件夹中的文件svmtrain.c覆盖原libsvm的matlab文件夹中的文件。
C.将svm.cpp、svm.h、svm-train.c这3个文件覆盖libsvm文件夹下的相同文件。
D.按本文刚开始讲述的方法进行mex -setup、make等完成安装,根据需要进行改名以及添加Path。
使用和上述同样的方法验证安装是否成功,能看见-s下567的说明就算安装成功了。
4.libsvm-faruto拓展配置
faruto大神为libsvm写了一个拓展包,里面包括了配套libsvm使用的各种函数。其中最有用的是cg参数寻优函数,免去了使用libsvm自带的.py工具的麻烦。
安装这个拓展包方法非常简单,把解压缩出来的文件夹目录添加进matlab目录里即可,方法和添加libsvm目录一样。
- LibSVM 在matlab中的配置(包括SVDD、libsvm-faruto)
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用方法
- libsvm在matlab中的使用
- LIBSVM在MATLAB中的使用
- LibSVM 在matlab中的使用
- libsvm在matlab中的使用方法
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用
- libsvm在matlab中的使用
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用
- LibSVM 在matlab中的使用
- eclipse link方安装maven插件
- 深入了解css的行高Line Height属性
- hdu 1002 A + B Problem II(大数模拟加法)
- html5 异步上传
- mysql约束汇总
- LibSVM 在matlab中的配置(包括SVDD、libsvm-faruto)
- leetcode-215 Kth Largest Element in an Array
- StarUML分析实现笔记(1)
- SDL在 Dev C++上的运行环境配置
- 第八周 项目四--String类的构造
- UIToggle修改状态无效的原因及解决办法[NGUI]
- 用OpenNETCF进行文件(数据)同步
- DirectX学习记录
- 写保留位,会导致不可预料的错误 !