libSVM分类无法正常工作

时间:2013-11-08 15:19:59

标签: libsvm

首先,我为通用标题道歉但我无法理解我的问题是什么。

我刚刚构建了libSVM 3.17并且我正在尝试使用它,我注意到它无法预测我的testset上的东西。 所以我做了一些非常小问题的测试。这是我做的:

3类,2维特征向量,基本上是3个点的集群。这是培训文件:

1 0:1 1:1 
1 0:1.1 1:0.9
1 0:1 1:1.2
2 0:10 1:11
2 0:9 1:10
2 0:10 1:12
3 0:50 1:52
3 0:49 1:50
3 0:48 1:49

使用

训练模型
libsvm-train.exe -t 0 data.txt model

(所以,使用线性内核,这应该绰绰有余) 产生以下模型文件:

svm_type c_svc
kernel_type linear
nr_class 3
total_sv 4
rho -1.26244 -1.04645 -1.58585
label 1 2 3
nr_sv 1 2 1
SV
0.01414027149321267 0.000445053674077491 0:1 1:1.2 
-0.01414027149321267 0 0:9 1:10 
-0 0.0007109847138286527 0:10 1:12 
-0.000445053674077491 -0.0007109847138286527 0:48 1:49 

现在,预测:这是测试文件:

1 1
10 11
49 49

输出

1
1
1

准确度为33%。

我对libSVM完全不熟悉,我在这里做错了,阅读LibSVM FAQ并没有真正帮助我。

感谢您提供的任何意见。

1 个答案:

答案 0 :(得分:1)

我认为您的数据格式未正确插入。 LIBSVM数据格式由对组成:。值是从1开始的整数。所以我认为你应该尝试改变它的数量。例如,0到1和1到2 ..类似的东西。

这是我的建议!

1 1:1 2:1 
1 1:1.1 2:0.9
1 1:1 2:1.2
2 1:10 2:11
2 1:9 2:10
2 1:10 2:12
3 1:50 2:52
3 1:49 2:50
3 1:48 2:49

您也可以在“安装和数据格式”部分中查看README以获取libsvm。 我希望它可以帮助你解决问题。

干杯!!