天天看點

SVMlight工具包使用說明(windows)

SVMlight是實作半監督SVM的一個工具包,去官網可以下載下傳檔案svm_light.tar.gz,并且官網也有使用說明。

如何調出指令視窗

解壓檔案之後,在svm_train.exe和svm_classify.exe所在的檔案夾中,按住shift+右鍵,選擇“在此處打開指令視窗”(就是日常Win+R調出來的cmd),這時候就可以使用工具包了。

需要了解參數的意義的話,直接在cmd視窗輸入svm_train.exe和svm_classify.exe調出參數說明,就可以看到模型設定中各項參數的意義。如果還是不夠清楚,點選這裡有一篇博文解釋不錯。

如何使用svm_train.exe和svm_classify.exe

這裡解釋如何使用下載下傳的svmlight工具包自帶example的資料。

在指令視窗輸入:

svm_learn.exe -z c example1/train.dat a.txt

開始用example下的train.dat作為輸入訓練,訓練結果為一個分類器,結果儲存在a.txt裡。

注:

1)這裡“-z c”就是設定好這是一個分類問題,當然也可以預設,因為預設的-z取值就是c;

2)在同“-z c”的位置,額外我可以寫“-w 0.2”來修改模型的松弛參數(具體請了解SVM算法原理在來問什麼是松弛參數),預設時取值為0.1。更多參數設定請參考參數說明;

3)這裡“example1/train.dat”可以修改成自己的“.dat”檔案的目錄;

4)這裡“a.txt”即輸出檔案名字,可以任意指定。

在指令視窗繼續輸入:

vm_classify.exe example1/test.dat a.txt b.txt

用example1下的test.dat訓練,用剛才訓練的模型,結果輸出在b.txt裡。

例子的資料檔案

給的例子是一個分類問題,從第二行開始是資料,第一個數是樣本的label,為1或者-1之後是特征值對,格式為“特征:值”。

特征可以用數字表示,也可以用帶引号的字元串,每個特征值對用空格分開。

模型的輸出檔案

第一行忽略,緊接着幾行是參數,也就是我們在調用train.exe時設定的模型參數,可以選擇核的種類等等;

接着是訓練模型的一些資訊,每行#後邊是對這行的解釋;

最後輸出的是每行一個支援向量。

擴充包和接口

windows下exe調用工具包的,資料不好處理。官網最下面可以下載下傳到擴充包,我用的matlab,matlab的接口與使用點選這裡。

繼續閱讀