libsvm学习(二)——第一次体验libsvm(转)
? 1.?把LibSVM包解壓到相應的目錄(因為我只需要里面windows文件夾中的東東,我們也可以只把windows文件夾拷到相應的目錄),比如D:/libsvm。
?
?????? 2.?在電腦“開始”的“運行”中輸入cmd,進入DOS環境。定位到d:/ libsvm下,具體命令如下:
???????????
?????????? d: (回車)
??????? ?cd /libsvm/windows (回車)
?????????
?????????? (上面第一行是先定位到盤符d,第二行cd?是定位到相應盤符下的目錄)
?
?????? 3.?進行libsvm訓練,輸入命令:(這里要注意文件的名字,2.89以前版本都是svmtrain.exe)
??????????
?????? ???svm-train heart_scale train.model
??
???????????heart_scale?——是目錄下的已經存在的樣本文件,要換成自己的文件,只需改成自己的文件名就可以了
?????????train.model?——是創建的結果文件,保存了訓練后的結果
?
???????
?? 可以看到結果:
???? *
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
??????Total nSV = 132
?
???????其中,#iter為迭代次數,nu?是你選擇的核函數類型的參數,obj為SVM文件轉換為的二次規劃求解得到的最小值,rho為判決函數的偏置項b,nSV?為標準支持向量個數(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-predict、svm-scale)的使用過程類似。怎么樣,挺爽的吧。對于個別參數你還不理解,沒關系,下面我們會具體講到。
轉載于:https://www.cnblogs.com/Miliery/p/4394074.html
總結
以上是生活随笔為你收集整理的libsvm学习(二)——第一次体验libsvm(转)的全部內容,希望文章能夠幫你解決所遇到的問題。