2013-03-20 46 views
-1

我有一些问题与SVM。我使用svmtrain和svmclassify进行分类质量和没有质量。我有数据训练40个假阳性和13个真阳性。当我测试它(数据测试,我使用=数据培训)正在工作,并给予100%。但是当我测试它(数据测试我从数据训练中取出)时,数据训练(TP = 8 FP = 30)和数据测试(TP = 5 FP = 10)。结果给所有的数据误报。对这个问题有什么想法吗?还是因为少量的数据测试和培训?为什么使用支持向量机的分类结果在matlab中不好?

回答

1

独立测试集执行得不好很正常,这意味着您的模型显然倾向于过度适应,因为您在适合训练数据时得到了100%。尝试调整svm模型参数,应用数据预处理,特别是标准化,以减少训练和(希望)您的独立测试数据的适应性。当两个准确度接近时,该模型将是有效的。

+0

好的。我想确保1.我的分类已经是正确的(因为在训练数据用于测试时给出100%)? 2.我应该平衡训练数据和测试数据的数量吗? (这也是问题?)。 3.你的意思是什么调整模型参数?(你的意思是我必须尝试另一个内核并设置参数?或者有另一个参数?4.如果我使用了libsvm,它会给出更好的结果吗?在这个领域是初学者,谢谢 – user2157806 2013-03-21 12:07:28

+0

如果你使用的是libsvm包,你可以看看初学者的指南:http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf特别注意“网格搜索”技术,100%的训练数据并不意味着除了过度拟合的可能性之外,重要的是独立测试数据的%校正和交叉验证数据。我不确定平衡会是一个问题,因为它是高度针对特定问题的。 – user2194365 2013-03-21 12:11:29

相关问题