K = 1是否适合KNN,当误差为min时,精度为max,对于该K值,甚至AUROC为Max?

问题描述 投票:0回答:1

我在KNN中的K = 1时获得了最高的准确度,最大AUROC,并且误差最低。但是,我被告知,当K = 1时,它总是处于过拟合模式,因此我要问的问题是好还是不好?

即使我尝试使用验证集,以下是k = 1到25的验证集和测试集的图。

图例:蓝线是验证集,绿线是测试集

Error Rate for Valid and Test set

Accuracy for Valid and Test set

AUROC for Valid and Test set

请让我知道K = 1是好吗?

[[注:我尝试了五种分类算法(GNB,决策树,LogReg,KNN和LDA),其中KNN显示出最佳的准确性和租赁误差,因此我正在研究KNN。

r python-3.x machine-learning classification knn
1个回答
0
投票
对于训练样本,K = 1时的错误率始终为零。这是因为最接近任何训练数据点的点本身就是它。如果验证曲线也给出相同的值,那么只有k = 1是有意义的。您应该在验证集上尝试不同的K值,并绘制验证错误。查看它变为最低的位置。在K = 1时,您正在过度拟合边界。因此,验证错误率最初会降低并达到最小值。在极小点之后,然后随着K的增加而增加。要获得K的最佳值,可以将训练和验证与初始数据集分开。现在绘制验证误差曲线以获得K的最佳值。该K值应用于所有预测。
© www.soinside.com 2019 - 2024. All rights reserved.