2016-02-10 45 views
0

我從LIBSVM以下模型文件:如何從libsvm模型文件中查找權重向量?

svm_type c_svc kernel_type linear nr_class 2 total_sv 3 rho 0.0666415 
label 1 -1 nr_sv 2 1 SV 
0.004439511653718091 1:4.5 2:0.5 
0.07111595083031433 1:2 2:2 
-0.07555546248403242 1:-0.5 2:-2.5 

我的問題是如何從這些信息計算出權重向量?

回答

0

支持向量的權重是每個支持向量行(後三個)上的第一個數字。儘管使用線性內核,但libsvm適用於一般內核SVM,因此它不會明確存儲權重向量和偏差。

如果你知道你想要一個線性內核,並且你需要這些信息,你可以使用liblinear(來自與l​​ibsvm相同的人員)。鑑於這種微不足道的數據:

1 1:1 2:1 
0 1:-1 2:-1 

你可以得到這個模型,它有明確的重量和偏見:

solver_type L2R_L2LOSS_SVC_DUAL 
nr_class 2 
label 1 0 
nr_feature 2 
bias -1 
w 
0.4327936 
0.4327936 
+0

感謝,還如何設置參數c(我想C到足夠大,以便根本不會有錯誤分類),這樣我得到不同的權重向量。謝謝。 – enthusiast