劍橋大學Matthew Johnson博士根據林智仁教授的Libsvm2.84編寫了基於C#平臺的SVM類庫。此類庫完全實現了Libsvm的所有功能,重新設計了對象結構以更好的適應.Net平臺(包括C#以及VB.Net)。利用此類庫可以輕鬆的實現SVM的分類功能。
可以在此處下載:www.brsbox.com/filebox/down/fc/07989ebf882acd1bfb4f0298bb574a7c
壓縮包中提供了四個方面的內容:
1.SVM.Net源代碼文件
2.SVM.Net編譯生成的類庫
3.演示程序Demo
4.演示程序源代碼
演示程序實現了一個簡單的多類分類問題,樣本有兩個特徵(即二維空間的x座標和y座標),樣本根據顏色分成若干類別,SVM根據用戶在二維空間中散佈的不用顏色的點陣,將二維空間分割成數個具有不用顏色的區域.如果一個未知類別的點屬於某個顏色空間,那麼該點即爲此種顏色代表的類別. 演示程序運行界面
文件格式:
Libsvm的樣本文件格式如下:
[label] [index1]:[value1] [index2]:[value2] ... 其中,
[label]代表樣本類別,一般情況下設置爲0,1,2,3,4...等自然數
[index]代表樣本特徵參數序號,第一個參數即爲[1],第二個參數即爲[2]...
[value]代表樣本特徵參數值
舉一個簡單的例子,有兩個類別0,1.每種類別有3個特徵:
0 1:0.5 2:0.5 3:0.5
1 1:1.5 2:2.5 3:3.5
這種格式既可以表示訓練樣本,又可以表示測試樣本.當表示測試樣本時,類別標籤[label]會與訓練過的SVM判別出的類別進行比對,進而在結果文件中給出判別的準確率.當然,如果您不需要判別準確率數據,那麼此時的類別標籤可以是任意數,但不能省略...
你可以按照以下步驟,進行svm的訓練和預測