LibSVM学习(一)——初识LibSVM
LibSVM是臺灣 林智仁(Chih-Jen Lin) 教授2001年開發的一套支持向量機的庫,這套庫運算速度還是挺快的,可以很方便的對數據做分類或回歸。由于libSVM程序小,運用靈活,輸入參數少,并且是開源的,易于擴展,因此成為目前國內應用最多的SVM的庫。
????
?????? 這套庫可以從http://www.csie.ntu.edu.tw/~cjlin/免費獲得,目前已經發展到2.89版。下載.zip格式的版本,解壓后可以看到,主要有5個文件夾和一些c++源碼文件。
???
?????? 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程序。另外,里面的 README 跟 FAQ 也是很好的文件,對于初學者如果E文過得去,可以看一下。
?
?????? 下面以svm-train為例,簡單的介紹下,怎么編譯:(這步很簡單,也沒必要,對于僅僅使用libsvm庫的人來說,windows下的4個exe包已經足夠了,之所以加這步,是為了那些做深入研究的人,可以按照自己的思路改變一下svm.cpp,然后編譯驗證)
?
?????? 我用的是VC 6.0,新建一個控制臺(win32 console application)程序,程序名叫svm-train(這個可以隨意),點擊OK后,選擇empty。
?????? 進入程序框架后,里面什么都沒有,然后找到你的程序目錄,把svm-train.c、svm.h和svm.cpp拷貝過去(.c文件是c語言的,要是你習慣了c++,你盡可以改成.cpp),然后把這3個文件添加到工程,編譯。。。如果沒錯誤,到debug下面看看,是不是有個svm-train.exe。其實windows下的svm-train.exe就是這樣編譯出來的。
?????? 哈哈,怎么樣是不是很簡單。但是,這樣的程序直接運行沒意義,他要在dos下運行,接收參數才行。下面開始我們的libsvm的體驗之旅。
?
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/flydreamGG/archive/2009/08/20/4466023.aspx
總結
以上是生活随笔為你收集整理的LibSVM学习(一)——初识LibSVM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Weka学习五(ROC简介)
- 下一篇: LibSVM学习(二)——第一次体验li