Machine learning 提高SVM分类器精度的技术

Machine learning 提高SVM分类器精度的技术,machine-learning,svm,Machine Learning,Svm,我正在尝试使用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 alread

我正在尝试使用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?

对于支持向量机,重要的是对所有特征具有相同的缩放比例,通常通过缩放每个(列)特征中的值来实现,这样平均值为0,方差为1。另一种方法是对其进行缩放,以使最小值和最大值分别为0和1。但是,[0,1]和[0,10]之间没有任何区别。两者都将显示相同的性能

如果您坚持使用SVM进行分类,另一种可能会带来改进的方法是将多个SVM合并。如果您使用的是Python,您可以从
sklearn.emble
尝试
BaggingClassifier


还请注意,您不能期望从一组真实的培训数据中获得任何性能。我认为97%是一个非常好的表现。如果高于此值,则可能会过度拟合数据

在阅读您的问题和您与这位自称已达到acc=99.51%的作者提出的论点时,我想到了一些想法。 我的第一个想法是太过合适了。我可能是错的,因为这可能取决于数据集——但第一个想法可能是过度拟合。现在我的问题

1-作者是否在文章中说明了数据集是否被划分为训练集和测试集? 2-该acc=99.51%是通过培训集还是测试集实现的

使用训练集,当您的模型过度贴合时,您可以达到此acc=99.51%。
通常,在这种情况下,SVM分类器在未知数据集上的性能很差。

据我所知,您的问题的答案是否。这是课堂练习吗?不,不是。事实上,我正在阅读一篇论文,作者使用与我类似的方法获得了99.51%的准确率。我认为至少达到99%是个好主意。是用相同的数据集吗?这取决于数据。但通常人们应该在精确性和过度拟合之间进行权衡。另一方面,您可以通过将数据集仔细划分为训练和测试来防止过度拟合。您还应该使用交叉验证。一种常见的方法是10倍分层交叉验证。