Libsvm模型文件格式没有型号

时间:2013-08-14 05:21:35

标签: machine-learning svm libsvm document-classification svmlight

我使用libsvm进行文档分类。我在我的项目中使用svm.cc和svm.h。然后我打电话给svm_train。我使用svm_save_model将模型保存在文件中。

我有类别。 svm模型文件是:

svm_type c_svc
kernel_type rbf
gamma 0.001002
nr_class 3
total_sv 9
rho -0.000766337 0.00314423 0.00387654
label 0 1 2
nr_sv 3 3 3
SV
1 1 1:0.001 2:0.001 3:0.012521912 5:0.001 15:0.012521912 17:0.012521912 23:0.001 
1 1 1:0.001 2:0.014176543 4:0.093235799 6:0.001 7:0.0058630699 9:0.040529628 10:0.001 
1 1 11:0.38863495 33:0.08295242 46:0.041749886 58:0.08295242 89:0.08295242 127:0.15338862 -1 1 5:0.001 8:0.0565 10:0.001 13:0.001 18:0.0565 21:0.021483399 34:0.12453384 36:0.001 
-1 1 13:0.034959612 34:0.090130132 36:0.034959612 45:0.034959612 47:0.12019824 
-1 1 5:0.001 8:0.048037273 13:0.001 18:0.048037273 29:0.14715472 30:0.018360058 36:0.001 
-1 -1 9:0.0049328688 12:0.090902344 18:0.1156038 27:0.0049328688 31:0.015144206

矢量值之前的1和-1是否为index:value?

1 个答案:

答案 0 :(得分:2)

来自libsvm FAQ:

  问:你能解释一下有关模型文件的更多信息吗?

     

在模型文件中   经过参数和其他信息,如标签,每一行   代表一个支持向量。支持向量列在顺序中   "标签"如前所示。 (即那些来自头等舱的人)   "标签"列表首先分组,依此类推。)如果k是总数   在类j中的支持向量前面的类,有k-1   系数y * alpha其中alpha是以下的双重解   两个类问题:1 vs j,2 vs j,...,j-1 vs j,j vs j + 1,j vs   在第一个j-1系数中,j + 2,...,j vs k和y = 1,y = -1   剩余的k-j系数。例如,如果有4个类,那么   文件看起来像:

 +-+-+-+--------------------+ 
 |1|1|1|                    | 
 |v|v|v|  SVs from class 1  | 
 |2|3|4|                    |
 +-+-+-+--------------------+ 
 |1|2|2|                    | 
 |v|v|v|  SVs from class 2  | 
 |2|3|4|                    |
 +-+-+-+--------------------+ 
 |1|2|3|                    | 
 |v|v|v|  SVs from class 3  | 
 |3|3|4|                    |
 +-+-+-+--------------------+ 
 |1|2|3|                    | 
 |v|v|v|  SVs from class 4  | 
 |4|4|4|                    |
 +-+-+-+--------------------+                            

http://www.csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f402