Fork me on GitHub

4/15/2011

[RD] 如何使用 libSVM

以下紀錄使用 libsvm 的簡易方法:

注意:假設有 N 類要作 trainning,train_data 的 feature 排列的前 N 個需要由 0 ~ (N-1) 順序排列

  1. 針對訓鍊資料作 scaling, 並且產生 scale 檔案 scale_para

     svm-scale -s scale_para train_data > train_data.scale
    
  2. 利用 scale_para 針對測試資料作 scaling

     svm-scale -r scale_para test_data > test_data.scale
    
  3. 找出較佳的 -c 和 -g 參數給 svm-train

     grid.py train_data.scale
    
  4. 產生一個 model 檔案

     svm-train -c 2.0 -g 0.03125 -t 2 -b 1 train_data.scale (train_data.scale.model will be generated)
    
  5. 運用該 model 檔案針對測試資料作預測

     svm-predict -b 1 test_data.scale train_data.model train_data.scale.out
    

svm.h 和 svm.cpp 可以在 libSVM 包當中找到!程式碼當中用這兩個檔案把 training 好的 model load 進來,並且做分類!

參考資料:

  1. LIBSVM – A Library for Support Vector Machines
  2. piaip’s Using (lib)SVM Tutorial

No comments:

Post a Comment