我试图了解为什么SVM分类器无法正确分类我的数据。我只提供了2000个原始数据样本中的10个样本XX。我无法理解Matlab返回的混淆矩阵。我使用了SVM分类器。我的代码是否错误,尤其是进行交叉验证的方式是否正确?

XX被标准化为X,并且Y是标签。每个特征向量的长度为8。

**问题**)有人可以帮忙解决这个问题吗?

             pred 0   pred 1
  actual 0    100       0
  actual 1    100       0


谢谢

最佳答案

你有:


不平衡的数据集(7个和3个样本),
一个8维特征空间,只有7个和3个样本,不足以填充它(请参见维数诅咒),以及
您仅使用这些样本的一半进行训练,这意味着您距离填充特征空间甚至还很远。


因此,对于SVM的概括是将所有内容归类为“类0”,我并不感到惊讶。

尝试仅使用其中一个功能(XX的第一列),然后使用留一法交叉验证。

关于matlab - 无法理解SVM返回的混淆矩阵,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50790159/

10-12 17:39