LibSVM学习(一)——初识LibSVM

 LibSVM是台湾 林智仁(Chih-Jen Lin) 教授2001年开发的一套支持向量机的库,这套库运算速度仍是挺快的,能够很方便的对数据作分类或回归。因为libSVM程序小,运用灵活,输入参数少,而且是开源的,易于扩展,所以成为目前国内应用最多的SVM的库。java

    

       这套库能够从http://www.csie.ntu.edu.tw/~cjlin/免费得到,目前已经发展到2.89版。下载.zip格式的版本,解压后能够看到,主要有5个文件夹和一些c++源码文件。python

   

       Java       —— 主要是应用于java平台;c++

       Python   —— 是用来参数优选的工具,稍后介绍;web

       svm-toy —— 一个可视化的工具,用来展现训练数据和分类界面,里面是源码,其编译后的程序在windows文件夹下;windows

       tools       —— 主要包含四个python文件,用来数据集抽样(subset),参数优选(grid),集成测试(easy), 数据检查(checkdata)app

       windows —— 包含libSVM四个exe程序包,咱们所用的库就是他们,里面还有个heart_scale,是一 个样本文件,能够用记事本打开,用来测试用的。框架

       其余.h.cpp文件都是程序的源码,能够编译出相应的.exe文件。其中,最重要的是svm.hsvm.cpp文件,svm-predict.csvm-scale.csvm-train.c(还有一个svm-toy.csvm-toy文件夹中)都是调用的这个文件中的接口函数,编译后就是windows下相应的四个exe程序。另外,里面的 README  FAQ 也是很好的文件,对于初学者若是E文过得去,能够看一下。函数

       下面以svm-train为例,简单的介绍下,怎么编译:(这步很简单,也不必,对于仅仅使用libsvm库的人来讲,windows下的4exe包已经足够了,之因此加这步,是为了那些作深刻研究的人,能够按照本身的思路改变一下svm.cpp,而后编译验证工具

 

       我用的是VC 6.0,新建一个控制台(win32 console application)程序,程序名叫svm-train(这个能够随意),点击OK后,选择empty测试

       进入程序框架后,里面什么都没有,而后找到你的程序目录,把svm-train.csvm.hsvm.cpp拷贝过去(.c文件是c语言的,要是你习惯了c++,你尽能够改为.cpp),而后把这3个文件添加到工程,编译。。。若是没错误,到debug下面看看,是否是有个svm-train.exe。其实windows下的svm-train.exe就是这样编译出来的。

       哈哈,怎么样是否是很简单。可是,这样的程序直接运行没意义,他要在dos下运行,接收参数才行。下面开始咱们的libsvm的体验之旅。

相关文章
相关标签/搜索