我试图理解为什么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
的第一列),并使用留一法交叉验证。