KMN算法,其实就是"人以类聚,物有群分“,可以参考下图:
[img]https://thumbnail0.baidupcs.com/thumbnail/d6196b12ace7f67dacc2fe0816604239?fid=1443225280-250528-802306628136265&time=1523880000&rt=sh&sign=FDTAER-DCb740ccc5511e5e8fedcff06b081203-o41vmy7stm4PrzULHNBbF%2FfNV1s%3D&expires=8h&chkv=0&chkbd=0&chkpc=&dp-logid=2454842744141680918&dp-callid=0&size=c710_u400&quality=100&vuk=-&ft=video[/img]
在这个图中,比如蓝色,红色两个分类,来一个新的点,如何判断它是属于蓝色还是
红色分类呢,比如新来的点是绿色,则可以用如下方法判断:
1) 比K=3,则选3个离绿色的点最近的,看这个绿色的点和这些点的距离,这里是2个红色点,1个蓝色点
2) 很明显,2:1的票数,2个红色点,少数服从多数,因此是属于红色分类
PYTHON例子:
KMN算法初学
转载下一篇:python 爬虫小结1
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
自定义类型:结构体——《初学C语言第43天》
结构体
局部变量 数据结构 链表 -
算法和数据结构 初学分享
空间复杂度的简单理解
时间复杂度 基本操作 数据 -
初学
新人入门c语言的一些心得整理,有所不足希望指正,轻喷
新人 visual studio c语言 -
初学Pollard Rho算法
$Pollard\ Rho$是一个著名的大数质因数分解算法,它的实现基于一个神奇的算法:$MillerRabin$素数测试。期望下,$Pollard\ Rho$算法可以达到极快的复杂度。
PollardRho MillerRabin 随机算法 #define 复杂度