与许多分类器的验证准确性相比,训练集的准确性很低。这正常吗?

我认为在拟合数据并预测训练集之后,您应该获得接近100%的准确度。我的意思是这样。该算法基于该数据集进行学习。但是当我这样做时:

classifier.fit(X_train,y_train)

pred = classifier.predict(X_test)

print(accuracy_score(y_test,pred))

>>> 0.810126582278481

很好。但是,如果我这样做:

pred = classifier.predict(X_train)

print(accuracy_score(y_train,pred))

>>> 0.6677316293929713

这不是谬论吗?还是我做错了什么...?这适用于RandomForestClassifier,MLPClassifier和SVC。

falcomadol 回答:与许多分类器的验证准确性相比,训练集的准确性很低。这正常吗?

This答案很好地说明了此行为。您有一个正则化项(或“ penality”参数)C,其默认值为1;这会防止过度拟合并解释低精度。尝试通过执行以下操作来增加参数C的值:

classifier = svm.SVC(C=200000)
classifier.fit(X_train,y_train)
pred = classifier.predict(X_train)
print(accuracy_score(y_train,pred))
本文链接:https://www.f2er.com/3048811.html

大家都在问