我有来自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 :(得分:0)
支持向量的权重是每个支持向量线上的第一个数字(后三个)。尽管使用了线性内核,但libsvm用于通用内核SVM,因此它不会显式存储权重向量和偏差。
如果您知道需要线性内核,并且需要该信息,则可以使用liblinear(来自与libsvm相同的人)。鉴于这些琐碎的数据:
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