KNN算法原理通俗理解

1、什么是KNN算法?
KNN全称是k-Nearest Neighbors,意思是K个最近的邻居。
KNN算法从名字上我们就可以很直观地看出它的原理:从所有的训练样本中找出和未知最近的K个样本,将k个样本中出现最多的类别就是赋给未知样本。
举个例子,大家都知道农场里的鹰的故事,鹰从小就在农场里长大,不知道自己是什么种类,如果在它生活的环境里恰好有鸡也有鹰,那么它会认为自己是鹰还是鸡呢?
放张图:
在这里插入图片描述
假设绿色的圆是农场里的鹰,蓝色正方形是附近的老鹰,红色三角形是农场里的鸡,农场里的鹰会认为自己是鹰还是鸡,取决于它自己心里的“K”,如果K是3,那么它会认为自己是鸡,如果K是5那么它会认为自己是鹰。
可见环境的影响是多么重要,而且我们也应该开阔自己的视野,让自己成为一只老鹰而不是农场里的一只鸡。

2、KNN算法能做什么?
通过上述的例子,我们可以看出KNN算法可以用来进行分类。其实KNN 算法不仅仅可以用来进行分类,还可以用进行匹配,比如说进行匹配等等。

3、如何实现KNN算法?
KNN算法的实现就是取决于,未知样本和训练样本的“距离”。那么如何求出两个样本之间的“距离呢?
我们计算“距离”可以利用欧式距离算法:
在这里插入图片描述

欧式距离算法可以算出N维向量之间的距离。
那么我们怎么利用欧式距离算法求出两个样本之间的距离?
把两个样本里的n个属性都用数字描述,然后用欧式距离算法求出n个属性之间的距离。
举个例子实现利用KNN实现电影分类:

在这里插入图片描述
3、我用KNN算法做过的一个小项目
经过上面的介绍,我相信大家都对KNN算法有了一个大致的了解,我们可以试着用KNN算法做出一个自己的小项目。我自己做的一个是用KNN算法实现手写识别,各位有兴趣的话可以一起交流一下。

作者:努力学习cs
来源:CSDN
原文:https://blog.csdn.net/wstz_5461/article/details/78018099
版权声明:本文为博主原创文章,转载请附上博文链接!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值