首页 > 解决方案 > 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. 我应该如何分类我的新数据?

标签: algorithmmachine-learningknn

解决方案


您需要找到新数据点与数据集中所有点之间的距离。

  1. 按升序排列这些距离。
  2. 从列表中取出前 K 个距离。
  3. 从选择的距离获取课程。
  4. 现在检查哪个班级的重复次数或票数最多。

对于 Java 中的实现,请参阅此处


推荐阅读