原文地址:
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 閱讀(884)
評論(0) 編輯 收藏