学习libsvm心得
简介
LibSVM是台湾 林智仁(Chih-Jen Lin) 教授2001年开发的一套支持向量机的库,这套库运算速度还是挺快的,可以很方便的对数据做分类或回归。由于libSVM程序小,运用灵活,输入参数少,并且是开源的,易于扩展,因此成为目前国内应用最多的SVM的库。
下载路径
https://www.csie.ntu.edu.tw/~cjlin/index.html/ 免费获得
可以根据自己的需求来下载Windows还是Linux版的
zip:Windows
tar.gz:Linux
配套论文:LIBSVM: A Library for support vector machines (有兴趣的小伙伴可以自己去看看)
https://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pd
下载.zip格式的版本,解压后可以看到,主要有5个文件夹和一些c++源码文件。
1. 解压后目录里有个README文件(推荐使用Notepad++,不推荐用记事本打开,推荐使用该文件讲述了使用方法,英文不难,不懂的谷歌翻译一下)。
2. 有个文件tools,该文件夹里也有个README文件(推荐使用Notepad++,不推荐用记事本打开)。
3. 根目录下有个FAQ.html,这个网站是官方的问答网页,可以参考有没有自己想问的问题(基本上你遇到的问题别人可能早就遇到了…)。
文件内容介绍
Java —— 主要是应用于java平台;
Python —— 是用来参数优选的工具;
svm-toy —— 一个可视化的工具,用来展示训练数据和分类界面,里面是源码,其编译后的程序在windows文件夹下;
tools —— 主要包含四个python文件,用来数据集抽样(subset),参数优选(grid),集成测试(easy), 数据检查(checkdata);
windows —— 包含libSVM四个exe程序包,我们所用的库就是他们,里面还有个heart_scale,是一个样本文件,可以用记事本打开,用来测试用的。
其他.h和.cpp文件都是程序的源码,可以编译出相应的.exe文件。其中,最重要的是svm.h和svm.cpp文件,svm-predict.c、svm-scale.c和svm-train.c(还有一个svm-toy.c在svm-toy文件夹中)都是调用的这个文件中的接口函数,编译后就是windows下相应的四个exe程序。
运行
因为直接解压使用即可,不要引入其他文件。他要在dos下运行,接收参数才行。下面开始我们的libsvm的体验之旅。