多媒體設計系統作業三是要我們實驗SVM,
老師給我們training.txt和testing.txt兩個檔案,
分別用來training和predicting。
在此之前我參考了以下的網頁:
- SVM概念教學:SVM之旅 – 行前準備篇
- LibSVM使用教學:piaip’s Using (lib)SVM Tutorial
- 台大資工林智仁老師的SVM網頁:LIBSVM — A Library for Support Vector Machines
以下步驟為我的作業專用,官方教學可看piaip’s Using (lib)SVM Tutorial,下面有官方實驗懶人包:P
1.到台大資工林智仁老師的SVM網頁
2.下載libsvm.zip
3.解開zip檔到此資料夾C:\
4.將training.txt和testing.txt放入此資料夾C:\libsvm-3.0\windows
5.執行DOS模式,按WIN+R,跳出「執行」視窗,在「開啟」的地方輸入「cmd」
6.輸入「cd C:\libsvm-3.0\windows」
7. 輸入指令svm-train training.txt如下:
C:\libsvm-3.0\windows>svm-train training.txt
8. 輸出結果如下:
optimization finished, #iter = 853
nu = 0.755208
obj = -173.484799, rho = 0.392991
nSV = 384, nBSV = 145
Total nSV = 384
9. 輸入指令svm-predict training.txt training.txt.model training.out如下:
C:\libsvm-3.0\windows>svm-predict training.txt training.txt.model training.out
10. 輸出結果如下:
Accuracy = 100% (384/384) (classification)
11. 輸入指令svm-predict testing.txt training.txt.model testing.out如下:
C:\libsvm-3.0\windows>svm-predict testing.txt training.txt.model testing.out
12. 輸出結果如下:
Accuracy = 67.9688% (261/384) (classification)
官方實驗步驟
- 將C:\libsvm-3.0\底下的heart_scale檔案複製到C:\libsvm-3.0\windows\
- 在DOS模式下到C:\libsvm-3.0\windows>
- C:\libsvm-3.0\windows>svm-train heart_scale
*
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
Total nSV = 132 - C:\libsvm-3.0\windows>svm-predict heart_scale heart_scale.model heart_scale.out
Accuracy = 86.6667% (234/270) (classification)
實驗結果意義為train資料集heart_scale為model(heart_scale.model),接著又已原資料集heart_scale作為prediect對象,然後將結果輸出至heart_scale.out。
藍色為輸入,紅色為輸出,很簡單吧!概念看最上面那網頁SVM之旅 – 行前準備篇有一系列的教學,淺顯易懂喔!
Comments on: "[LibSVM] Support Vector Machine (SVM) 實驗" (2)
[…] 多媒體系統課當時已稍微玩過LibSVM實驗,然而那時候並沒有下參數,讓分類結果最佳化,於是今日捲土重來。 […]
讚讚
[…] 不過我不太理解的是,第一次逛到MMDays共筆部落格是因為去年要學SVM,但是不知道哪時候開始,那幾篇SVM介紹和教學再也連不進去,是因為流量太大嗎?哈~我觀察到我寫的這篇:Support Vector Machine (SVM) experiment using LibSVM,想要連進去MMDays的SVM教學,結果出現「404找不到」訊息,很可惜~我當時應該全文複製下來,然後吸收後再以自己所理解來寫一篇教學,藉此觀察長尾理論是否能在這篇文章表現出來,呵呵~ […]
讚讚