1

我正在使用 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

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

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

谢谢,

盖尔星

4

1 回答 1

2

确保包含'-v 10'svmtrain选项中。我不确定您的 100% 准确度来自训练样本或验证样本。由于样本数比特征数少得多,因此很有可能获得 100% 的训练准确率。但是,如果您的模型存在过拟合问题,则验证准确度可能会很低。

于 2014-01-27T23:21:11.153 回答