KNN是一种分类算法,在现实生活中,我们看一个人怎么样,可以看他的朋友怎么样,至少说这样推断的可信度比较高;KNN就是这种思想。
1:)初始化输入为有标签样本;
2:)当我们得到一个新样本的时候,我们就看这个新样本的半径为R的周围,各种有标签样本的比例,哪种标签占的比例最高,我们就给这个新样本打上这个标签,就是从这个样本的“朋友”中来判断这个样本是哪一类!
上面说的思想,具体实现knn以及如何选择k又是一个问题,因为要找到最近的n个向量,当数据量特别大时,线性搜索是个很耗时间的事情,也不现实,这里就要涉及到kd树的问题,这里不详细说,等以后有时间了再回来补充这里的所有关于算法的博客,详细探讨;