2009年4月10日星期五

libsvm使用心得

Libsvm使用心得
最近在做基于SVM的短信分类的项目,对libsvm的使用进行了小小研究,结合网上泛滥成灾的libsvm使用方法介绍,自己做一简短总结。
libsvm是实现svm的便捷开源工具,应用广泛(除此之外还有lightsvm,没用过)由国立台湾大学Chih-Chung Chang和 Chih-Jen Lin编写,可以实现基于SVM的分类和回归。
由于个人对SVM的理论只是“略懂”,下面只介绍libsvm在win32平台的基本使用方法 。对SVM一窍不通的强烈建议看一下入门文章http://ntu.csie.org/~piaip/svm/svm_tutorial.html

先介绍一下大概的流程。
准备数据集(短信语料),处理成libsvm接受的格式,之后进行训练(svm-train)得到模型
,然后进行测试,完成。其中训练的过程需要不断选取参数寻求最佳分类结果,为此libsvm提供了grid.py(python文件)专门用来帮助自动选取最佳参数。


1、资源准备
下载Libsvm、Python和Gnuplot:
libsvm——那必须有啊,最新版本2.89,主页http://www.csie.ntu.edu.tw/~cjlin/libsvm/上下载得到,建议同时下载一个libsvm的初学者guide
Python——主要是为了运行grid.py,最新版是2.5,可以在python的主页http://www.python.org/上下载
Gnuplot——同样为了选取最佳参数和绘图,自己搜一下,win32版的为gp423win32.zip

2、具体流程

LIBSVM 使用的一般步骤是:
1)准备数据集,转化为 LIBSVM支持的数据格式 :

1 条评论:

Unknown 说...

你好,看了你的分析受益匪浅,可是还是不明白怎么使用,我想进行文本分类,怎么做成libsvm要求的训练数据呢?你做的短信文本是处理什么呢? 请指教,我的msn:wangchengtksm@hotmail.co.jp
qq:67444525