简单易懂教会你KNN算法
来源:互联网 发布:知鱼之乐什么意思 编辑:程序博客网 时间:2024/06/07 16:14
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算法实现手写识别,各位有兴趣的话可以一起交流一下。
阅读全文
0 0
- 简单易懂教会你KNN算法
- KNN算法简单介绍
- 简单示例教会你 jquery样式设置
- 匈牙利算法(简单易懂)
- Python 简单实现KNN算法
- 快速排序算法简单易懂实现
- 快速排序算法简单易懂实现
- 字符串匹配的KMP算法(简单易懂)
- 简单易懂讲解simhash算法 hash 哈希
- 简单易懂讲解simhash算法 hash 哈希
- k近邻算法(kNN):简单粗暴
- python之KNN算法的简单实现
- python KNN算法的简单实现
- 故事教会你做人
- Cairngorm教会你什么?
- java多线程卖票-教你简单易懂三步骤
- KNN算法
- KNN算法
- [leetcode]435. Non-overlapping Intervals
- vi 翻页, 行首,行末命令
- GitHub Pages搭建个人博客
- LeetCode 001 :Two Sum
- 学好Hadoop的正确方式
- 简单易懂教会你KNN算法
- CAS单点登录-Service配置(七)
- 高二&高一&初三模拟赛16 总结
- 无序数组的相邻最大差值
- maven3.5.0在win10中的安装及环境变量配置
- java异常
- Java实现——快速排序
- Oracle 12c 多租户专题|12cR2中PDB内存资源管理
- leetcode Median of Two Sorted Arrays