我正在使用libSVM(带有线性内核)来训练和交叉验证(10倍)数据。

数据由1800 fMRI强度体素表示为单个数据点。
svm-train的训练集文件中大约有88个数据点。

训练集文件如下所示:

+1 1:0.9 2:-0.2 ... 1800:0.1

-1 1:0.6 2:0.9 ... 1800:-0.98

...

我还应该提到我正在使用svm-train脚本(与libSVM软件包一起提供)。

问题是,在运行svm-train时-结果是100%的准确性!

这似乎没有反映出真正的分类结果!
 数据并非不平衡,因为

#datapoints labeled +1 == #datpoints labeled -1

Iv'e还检查了缩放器(正确缩放),还尝试随机更改标签以查看它如何影响准确性-并将其从100%降低到97.9%。

你能帮我理解这个问题吗?
如果是这样,我该怎么解决?

谢谢,

加尔星

最佳答案

确保在'-v 10'选项中包括svmtrain。我不确定您的100%准确性来自训练样本还是验证样本。因为您的样本数比特征数少得多,所以很有可能获得100%的训练精度。但是,如果您的模型过度拟合,验证准确性可能会很低。

关于machine-learning - 来自libsvm的100%准确性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21393646/

10-12 21:16