libsvm训练数据java_帮助 - LibSVM的准确率达到100%?

名义上是一个很好的问题,但我很确定这是因为有趣的东西正在发生......

作为背景,我正在处理面部表情/识别空间中的问题,因此获得100%的准确性似乎令人难以置信地难以置信(并非在大多数应用程序中都是合理的......) . 我猜测数据集中存在一些一致的偏差,它使得SVM过于容易地得出答案,=或=,更可能的是,我在SVM方面做错了 .

我正在寻找建议,以帮助了解发生了什么 - 是我(=我对LibSVM的使用)?还是数据?

细节:

关于~2500个标记的数据向量/实例(个体的变换视频帧 - 总共<20个人),二进制分类问题 . ~900个功能/实例 . 不 balancer 数据的比率约为1:4 .

Ran subset.py将数据分成测试(500个实例)和训练(剩余) .

然后"svm-train -t 0 " . (注意:显然不需要'-w1 1 -w-1 4' ...)

Ran svm-predict在测试文件上 . 准确度= 100%!

事情尝试:

通过一些无意的命令行参数错误检查了大约10次我没有训练和测试相同的数据文件

多次重新运行subset.py(甚至使用-s 1)并且仅训练/测试了多个不同的数据集(如果我随机选择最神奇的火车/测试pa

运行了一个简单的类似diff的检查,以确认测试文件不是训练数据的子集

svm-scale对数据的精度没有影响(准确度= 100%) . (尽管支持向量的数量确实从nSV = 127下降,bSV = 64到nBSV = 72,bSV = 0 . )

((奇怪))使用默认的RBF内核(副线性 - 即删除'-t 0')导致准确性变为垃圾(?!)

使用针对未缩放数据集的缩放数据集训练的模型运行svm-predict的

(健全性检查)导致精度= 80%(即,它总是猜测主导类) . 这绝对是一个健全性检查,以确保svm-predict在名义上在我的机器上正常运作 .

暂定结论?:

数据集的某些东西已经被摧毁 - 不知何故,在数据集中,SVM正在汲取一种微妙的,实验者驱动的效果 .

(首先,这不解释为什么RBF内核会产生垃圾结果 . )

非常感谢任何建议:a)如何修复我对LibSVM的使用(如果这实际上是问题)或b)确定LibSVM数据中的哪些微妙的实验者偏见正在接受 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值