首页 > 编程之美 > KNN算法
2013
10-20

KNN算法

KNN算法即k-Nearest Neighbor algorithm,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一,可应用于基于智能终端传感器的活动识别。KNN算法思路如下:
1、假设一个样本空间里的样本可分成几个类型
2、给定一个未知类型的待分类样本
3、基本思路:
a人以类聚、物以群归
b待分类样本与哪一类的样本比较相近,就归属于哪一类
c具体的相近比较基于最近的K个样本
d归属于K个样本中的多数样本所属的类
维基百科上的KNN词条中有一个比较经典的图如右:
从右图中可以看到
-图中的有两个类型的样本数据 KNN算法 - 第1张  | Jianchihu
-一类是蓝色的正方形
-一类是红色的三角形。
-绿色的圆形是待分类的数据。
如果K=3,那么离绿色点最近的有2个红色三角形和1个蓝色的正方形,这3个点投票,于是绿色的这个待分类点属于红色的三角形。
如果K=5,那么离绿色点最近的有2个红色三角形和3个蓝色的正方形,这5个点投票,于是绿色的这个待分类点属于蓝色的正方形。
KNN算法实现:
Knn.h

Knn.cpp

main.cpp

最后编辑:
作者:Jianchihu
管理员——低调做事,低调做人

留下一个回复

你的email不会被公开。

This site uses Akismet to reduce spam. Learn how your comment data is processed.