k近邻算法__kd树实现

本文介绍了K近邻算法,包括其核心思想和K值选择的影响,并详细讲解了KD树的概念、构建过程以及如何利用KD树进行最近邻搜索。通过实例展示了KD树在降低搜索复杂度方面的优势。
摘要由CSDN通过智能技术生成

第一部分、K近邻算法

1.1、什么是K近邻算法

K近邻算法,简称KNN算法,通俗地说:就是寻找K个最近的邻居;当K=1时,算法便成了最近邻算法,即寻找最近的那个邻居。   

用官方的话来说,所谓K近邻算法,即是给定一个训练集,对新的输入实例,在训练集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居),这K个实例的多数属于某个类,就把该输入实例分类到这个类中。   

根据这个说法,咱们来看下引自维基百科上的一幅图:

                

如上图所示,有两类不同的样本数据,分别用蓝色的小正方形和红色的小三角形表示,而图正中间的那个绿色的圆所标示的数据则是待分类的数据。

下面,我们就要解决的问题是:给这个绿色的圆分类。

如果K=3,绿色圆点的最近的3个邻居是2个红色小三角形和1个蓝色小正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于红色的三角形一类。

如果K=5,绿色圆点的最近的5个邻居是2个红色三角形和3个蓝色的正方形,少数从属于多数,基于统计的方法,判定绿色的这个待分类点属于蓝色的正方形一类。

衡量待分类点周围邻居的权重,而把它归到权重更大的那一类。这就是K近邻算法的核心思想。

1.2、K值的选

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值