首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Knn算法的工作原理

Knn算法的工作原理
EN

Stack Overflow用户
提问于 2018-05-02 11:44:27
回答 2查看 636关注 0票数 2

当我开始理解这个算法时,我不太明白它应该如何工作。我有一个数据集,我有需要分类的新数据。数据集:

代码语言:javascript
复制
2   2   a
3   5   a
1   8   b
3   16  b
4   12  a
5   20  a

以及一项新的数据:

代码语言:javascript
复制
1   2

现在我需要将新的集合分类为"a“或"b”。我可以为每一组计算距离,为每个数据集计算sqrt((aNew-Ai)^2+(bNew-Bi)^2)。我有这个数据:

代码语言:javascript
复制
    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。我应该如何分类我的新数据?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-06 11:30:44

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

  1. 按升序排列这些距离。
  2. 从列表中提取第一个K数的距离。
  3. 从选好的距离上来上课。
  4. 现在检查哪一类的重复次数或选票最多。

要在Java中实现,请参考这里

票数 1
EN

Stack Overflow用户

发布于 2018-05-04 16:52:25

在您的示例中,它是a,因为它是k (6)最近邻列表中最常见的值。

但是K应该是一个不均匀的数字,以防止模糊的分类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50133901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档