首页 > 解决方案 > 使用 svm 的分类精度低

问题描述

我正在尝试使用 SVM 将大约 5000 条记录和大约 1000 个真值的数据分类为 2 个类。我的代码来自以下示例:

from sklearn import svm
clf = svm.SVC()
clf.fit(X, Y)

所以我使用了大部分默认值。差异对我来说非常高。训练准确率超过 95%,而我正在从数据集中提取大约 50 条记录的测试为 50%。

但是,如果我将测试数据训练的大小更改为大约 3000 和 2000 条记录,那么训练准确度会下降到 80%,而测试准确度会上升。为什么会这样?

现在,如果我将 scikit-learn 库更改为逻辑回归,则百分比保持不变。为什么呢?

标签: scikit-learnsvmvariance

解决方案


对 svm 的每一次修改都会产生一个新的准确度,请记住,训练数据的准确度与实际数据的准确度不同。如果您的目标是两者都具有高精度,我建议您先尝试清理数据。


推荐阅读