提高支持向量机分类器准确性的技巧

5

我正在尝试使用UCI数据集构建分类器来预测乳腺癌。我正在使用支持向量机。尽管我最真诚的努力提高分类器的准确性,但我无法超过97.062%。我已经尝试了以下方法:

1. Finding the most optimal C and gamma using grid search.
2. Finding the most discriminative feature using F-score.

有人能向我提出提高准确性的技巧吗?我至少要达到99%。

1.Data are already normalized to the ranger of [0,10]. Will normalizing it to [0,1]  help?

2. Some other method to find the best C and gamma?

1
据我所知,对于你的问题,答案都是否定的。 - Ami Tavory
这是一项课堂练习吗? - Emacs User
不是的,我只是在尝试使用支持向量机。 - Prashant Pandey
@ Prashant Pandey,你解决了这个问题。也给我建议一下。 - Amarnath Reddy Surapureddy
2个回答

4
对于SVM来说,所有特征的缩放应该是相同的,通常通过对每个(列)特征中的值进行缩放来实现,使得均值为0,方差为1。另一种方法是将其缩放,使得最小值和最大值例如为0和1。然而,[0,1]和[0,10]之间没有任何区别。两者都会表现出相同的性能。
如果您坚持使用SVM进行分类,可能会有改善的另一种方式是集成多个SVM。如果您正在使用Python,则可以尝试sklearn.ensemble中的BaggingClassifier。
还要注意,您不能指望从真实的训练数据中获得任何性能。我认为97%的性能非常好。如果您超过这个数字,可能会导致过度拟合数据。

实际上,我正在阅读一篇论文,作者使用类似于我的方法,已经达到了99.51%的准确率。我认为至少要达到99%是个好主意。 - Prashant Pandey
是使用相同的数据集吗? 这取决于数据。但通常应在准确性和过拟合之间做出一些权衡。 另一方面,您可以通过仔细划分数据集为训练和测试来防止过拟合。您还应该使用交叉验证。其中一种常见类型是10折分层交叉验证。 - Mahsa.Ghasemi

0

阅读您的问题和您提出的与这位作者声称已经实现了99.51%准确率的论点时,我脑海中浮现了一些想法。

我的第一个想法是过拟合。我可能错了,因为它可能取决于数据集 - 但第一个想法将是过拟合。 现在我的问题是;

1- 作者在文章中是否声明数据集被分成训练集和测试集? 2- 这个99.51%的准确率是通过训练集还是测试集实现的?

使用训练集,当您的模型过度拟合时,您可以达到这个99.51%的准确率。 通常,在这种情况下,SVM分类器在未知数据集上的性能较差。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接