algorithm - 统计: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?
解决方案
推荐阅读
- codenameone - 代号一上的 Toolbar.getBackButton
- excel - 如何从 Excel VBA 将动态名称设置为 PDF 范围
- c# - 如何构建自定义 WebApi 路由,例如“package/{packageName}/{controller}”以路由到单独程序集中的应用程序部件?
- javascript - vue中如何给对象添加属性
- c - 正则表达式在 c 中不匹配,但适用于在线解释器
- javascript - 我的 DIY 修剪功能无法返回正确答案,它返回 undefied
- javascript - 如何显示页数(1/X)?
- javascript - 处理可以是数组或单个值的数据,没有条件
- python - 两者都没有或两者兼而有之
- reactjs - 如何获取 LinkedIn API?