我正尝试使用SVM将具有1000个真值的大约5000条记录的数据分为2类。我的代码来自以下示例:
from sklearn import svm
clf = svm.SVC()
clf.fit(X, Y)
所以我使用了大多数默认值。对我来说,差异很大。训练准确性超过95%,而我正在做的测试从数据集中提取了大约50条记录,结果是50%。
但是,如果我将测试数据的训练大小更改为大约3000和2000条记录,那么训练精度将下降到80%,并且测试精度会上升。为什么会这样?
现在,如果我将scikit-learn库更改为逻辑回归,则百分比保持不变。为什么会这样?
答案 0 :(得分:1)
对svm的每次修改都会产生新的精度,请记住,训练数据的精度与实际数据的精度不同。如果您希望两者都具有较高的准确性,建议您先尝试清理数据。