LibSVM學習(二)——第一次體驗libSvm

  1. LibSVM包解壓到相應的目錄(由於我只須要裏面windows文件夾中的東東,咱們也能夠只把windows文件夾拷到相應的目錄),好比D:/libsvmweb

 

       2. 在電腦「開始」的「運行」中輸入cmd,進入DOS環境。定位到d:/ libsvm下,具體命令以下:windows

           

           d: (回車)函數

         cd /libsvm/windows (回車)spa

         

           (上面第一行是先定位到盤符d,第二行cd 是定位到相應盤符下的目錄)orm

 

       3. 進行libsvm訓練,輸入命令:(這裏要注意文件的名字,2.89之前版本都是svmtrain.exe)cmd

          

          svm-train heart_scale train.modelit

  

           heart_scale ——是目錄下的已經存在的樣本文件,要換成本身的文件,只需改爲本身的文件名就能夠了io

         train.model ——是建立的結果文件,保存了訓練後的結果class

 

       

   能夠看到結果:model

     *

optimization finished, #iter = 162

nu = 0.431029

obj = -100.877288, rho = 0.424462

nSV = 132, nBSV = 107

      Total nSV = 132

 

       其中,#iter爲迭代次數,nu 是你選擇的核函數類型的參數,objSVM文件轉換爲的二次規劃求解獲得的最小值,rho爲判決函數的偏置項bnSV 爲標準支持向量個數(0<a[i]<c),nBSV爲邊界上的支持向量個數(a[i]=c),Total nSV爲支持向量總個數(對於兩類來講,由於只有一個分類模型Total nSV = nSV,可是對於多類,這個是各個分類模型的nSV之和)。

 

 

    在目錄下,還能夠看到產生了一個train.model文件,能夠用記事本打開,記錄了訓練後的結果。

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

          kernel_type rbf                       //訓練採用的核函數類型,此處爲RBF

          gamma 0.0769231                   //RBF核的參數γ

          nr_class 2                               //類別數,此處爲兩分類問題

          total_sv 132                           //支持向量總個數

          rho 0.424462                          //判決函數的偏置項b

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

          nr_sv 64 68                           //每一個類的支持向量機的個數

          SV                                          //如下爲各個類的權係數及相應的支持向量

   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

 

    到如今,第一次體驗libsvm到這就基本結束了,其餘的兩個(svm-predictsvm-scale)的使用過程相似。怎麼樣,挺爽的吧。對於個別參數你還不理解,不要緊,下面咱們會具體講到。

相關文章
相關標籤/搜索