algorithm - Knn 算法是如何工作的
问题描述
当我开始理解这个算法时,我并不太明白它应该如何工作。我有一个数据集,我有需要分类的新数据。数据集:
2 2 a
3 5 a
1 8 b
3 16 b
4 12 a
5 20 a
还有一个新数据:
1 2
现在我需要将新集合分类为“a”或“b”。我可以计算每组的距离。sqrt((aNew-Ai)^2+(bNew-Bi)^2)
对于每个数据集。远距离我有这些数据:
a b dist class
new 1 2 ? ?
old 2 2 1,0 a
old 3 5 5,8 a
old 1 8 8,1 b
old 3 16 16,3 b
old 4 12 12,6 a
old 5 20 20,6 a
而对于前。K 等于 6. 我应该如何分类我的新数据?
解决方案
您需要找到新数据点与数据集中所有点之间的距离。
- 按升序排列这些距离。
- 从列表中取出前 K 个距离。
- 从选择的距离获取课程。
- 现在检查哪个班级的重复次数或票数最多。
对于 Java 中的实现,请参阅此处
推荐阅读
- spring - 在 WebMvcTest 中为 Keycloak 加载自定义 SecurityConfig 时的 NPE
- flutter - 将对象转换为可编码对象失败。扑
- jquery - Tinymce 自动完成器使不区分大小写
- java - 不切换到下一个 FXML 文件?
- python - 到达 AWS Lambda 函数上的 S3 位置
- reactjs - 绝对导入:React 和 Typescript
- python - Python 可执行文件(pyinstaller)在我关闭时抛出错误
- c# - 穿线抑制穿线直到按下按钮
- python - 在给定列表中,在大列表的元素不在较小列表中的位置添加默认值
- python - 如何在pygame中制作碰撞检测器