贤仁居 George Gong
It's never too late to learn
posts - 32,comments - 16,trackbacks - 0
原文地址: http://ifelseif.blog.sohu.com/145381162.html

听说支持向量机是比神经网络还牛X的分类器,我就拿来玩了玩,用国立台湾大学Chih-Chung Chang和Chih-Jen Lin编写的libsvm函数库。国内的网站很多帖子都抄来抄去的,犯错bug都一样。哎,希望此贴可以正本清源。

    首先下载libSVM的最新版本,他们的主页在此http://www.csie.ntu.edu.tw/~cjlin/libsvm/index.html源码手册都有,真是好人啊!手册写的清晰明了通俗易懂,尽管是英文的。想快速上手看具体操作步骤的直接翻到appendix吧。

    在linux下部署libSVM是简单到不能再简单了,make一下就完事儿了。什么!你没有gcc,没有python,没有gnuplot?自己apt-get去吧。

    用windows的童鞋,首先你们要安装python和gnuplot。python的主页为http://www.python.org/,安装程序可以在这里下载。gnuplot的主页为http://www.gnuplot.info/download.html,安装程序在这里。python是需要安装的,gnuplot是绿色软件找个地方解压就行。如果你网速快的话强烈推荐pythonxy这个东西,python科学计算相关的软件包基本都包括了,有功夫好好学吧开源的哦。

    需要手工添加环境变量,保证python根目录,gnuplot的bin目录,libsvm的windows目录都在path里面,我的电脑上是c:\python26,C:\Python26\gnuplot\bin,c:\Users\gongwei\program\libsvm-2.9\windows\。然后还要改libSVM\tools目录下的easy.py和grid.py文件,把gnuplot路径那一项改成gnuplot_exe = r"C:\Python26\gnuplot\bin\pgnuplot.exe"。gnuplot有三个exe,这里只能用这个因为它可以通过管道输入数据,另外两个都不行。都弄完之后,尝试运行一下吧:

    python easy.py train.1 test.1

    其中train.1和test.1都是作者提供的测试数据。可以在这里下载guide里面的数据,这里还有更多。

    好啦下面就等着弹窗吧,会弹出一个gnuplot的窗口,里面的图像会随着网络的训练逐步更新。大功告成!

    libSVM的使用很简单,会用python的可以参考easy.py和grid.py写自己的script。libSVM使用c++编写,提供java的源码,还支持R (also Splus), MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell, LabVIEW的调用。想用的话基本都有自己适合的环境。

    最后还是要感谢libSVM的几位作者们,写出这么好的软件。向台湾同胞致敬!

posted on 2010-09-19 22:25 George Gong 阅读(859) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: