Java使用LibSVM(2)

參數(shù)說明

1、svm_train()

用法:?svmtrain [options] training_set_file [model_file]

舉個栗子

其中,options為操作參數(shù),可用的選項即表示的涵義如下所示:

-s設置svm類型:

0 – C-SVC

1 – v-SVC

2 – one-class-SVM

3 –ε-SVR

4 – n - SVR

-t設置核函數(shù)類型,默認值為2

0 --線性核:u'*v

1 --多項式核:(g*u'*v+coef0)degree

2 -- RBF核:exp(-γ*||u-v||2)

3 -- sigmoid核:tanh(γ*u'*v+coef0)

-d degree:設置多項式核中degree的值,默認為3

-gγ:設置核函數(shù)中γ的值,默認為1/k,k為特征(或者說是屬性)數(shù);

-r coef 0:設置核函數(shù)中的coef 0,默認值為0;

-c cost:設置C-SVC、ε-SVR、n - SVR中從懲罰系數(shù)C,默認值為1;

-n v:設置v-SVC、one-class-SVM與n - SVR中參數(shù)n,默認值0.5;

-pε:設置v-SVR的損失函數(shù)中的e,默認值為0.1;

-m cachesize:設置cache內存大小,以MB為單位,默認值為40;

-eε:設置終止準則中的可容忍偏差,默認值為0.001;

-h shrinking:是否使用啟發(fā)式,可選值為0或1,默認值為1;

-b概率估計:是否計算SVC或SVR的概率估計,可選值0或1,默認0;

-wi weight:對各類樣本的懲罰系數(shù)C加權,默認值為1;

-v n:n折交叉驗證模式;

model_file:可選項,為要保存的結果文件,稱為模型文件,以便在預測時使用。

默認情況下,只需要給函數(shù)提供一個樣本文件名就可以了,但為了能保存結果,還是要提供一個結果文件名,比如:test.model,則命令為:

svmtrain test.txt test.model


2、svm_train()運行控制臺輸出

運行svm_train()后,結果如下圖


默認情況

#iter為迭代次數(shù)

nu是你選擇的核函數(shù)類型的參數(shù)

obj為SVM文件轉換為的二次規(guī)劃求解得到的最小值(也有說對偶SVM問題的最佳目標值)

rho為判決函數(shù)的偏置項b

nSV為標準支持向量個數(shù)(0<a[i]<c)

nBSV為邊界上的支持向量個數(shù)(a[i]=c)

Total nSV為支持向量總個數(shù)(對于兩類來說,因為只有一個分類模型Total nSV = nSV,但是對于多類,這個是各個分類模型的nSV之和)

* 什么是標準支持向量個數(shù)呢,就是這些特征中泛化能力最強的部分,魯棒性最強。換句話說就是代表能力最強的。因此,它的占比不能太高,一般不高于80%,如高于這個值,則需調整特征的提取。

3、train-model文件

svm_type c_svc //所選擇的svm類型,默認為c_svc

kernel_type rbf? //訓練采用的核函數(shù)類型,此處為RBF核

gamma 0.0769231? //RBF核的參數(shù)γ

nr_class 2? ? ? ? //類別數(shù),此處為兩分類問題

total_sv 132? ? ? //支持向量總個數(shù)

rho 0.424462? ? ? //判決函數(shù)的偏置項b

label 1 -1? ? ? ? //原始文件中的類別標識

nr_sv 64 68? ? ? //每個類的支持向量機的個數(shù)

SV? ? ? ? ? ? ? ? //以下為各個類的權系數(shù)及相應的支持向量

1 1:0.166667 2:1 3:-0.333333 … 10:-0.903226 11:-1 12:-1 13:1

0.5104832128985164 1:0.125 2:1 3:0.333333 … 10:-0.806452 12:-0.333333 13:0.5

………..

-1 1:-0.375 2:1 3:-0.333333…. 10:-1 11:-1 12:-1 13:1

-1 1:0.166667 2:1 3:1 …. 10:-0.870968 12:-1 13:0.5

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 原文章為scikit-learn中"用戶指南"-->"監(jiān)督學習的第四節(jié):Support Vector Machin...
    HabileBadger閱讀 2,968評論 0 11
  • 本文講使用臺灣大學林智仁(Lin Chih-Jen)教授等開發(fā)設計開發(fā)設計的一個簡單、易用的SVM模式識別與回歸的...
    Allen3333閱讀 31,213評論 1 5
  • 本文是scikit-learn 支持向量機的翻譯,原文地址:http://scikit-learn.org/sta...
    學以致用123閱讀 3,437評論 0 4
  • 一、實驗目的 學習使用 weka 中的常用分類器,完成數(shù)據(jù)分類任務。 二、實驗內容 了解 weka 中 explo...
    yigoh閱讀 8,859評論 5 4
  • 心靈自由 30天寫作 今天,滿45歲了。表情是很無奈的,心是很復雜的。不知道時間都去哪了。哎!就算能活到90歲,也...
    我就是云錦閱讀 407評論 1 2

友情鏈接更多精彩內容