首页 > 解决方案 > 统计:K=1 时 KNN 算法的准确度

问题描述

这确实是一个关于 KNN 算法的一般性问题,希望您能够帮助我理解。

我在 R 的库类中使用了 knn 算法:

knn <- knn(train=X_train, test=X_test, cl=train_Y, k=3)

当运行 KNN 算法对 0 到 9 的手写数字进行分类时(每个观察结果都是一个 txt 文件,其中包含 1024 个 0 和 1 创建数字的图片)。所以它是一个包含 1024 个变量的数据集,每个变量都可以是 0 或 1。

我能够运行该算法,并且在 K=3 时获得了非常好的结果(在某种程度上是合理的)。但是,当我遍历不同的 K 值以寻找最佳值时,会发生最佳 K 值是 1 或 3,然后它会逐渐下降。

我觉得奇怪的是 K=1 可能是一个最优值,因为我认为只看最近的点应该是最优值是不合理的。

你能帮我解决这个问题吗?可能是因为 Argument use.all = TRUE?

标签: algorithmmachine-learningstatisticsknn

解决方案


推荐阅读