KNN算法
KNN(K- Nearest Neighbor),即K最邻近算法,是数据挖掘分类技术中最简单的方法之一。简单来说,它是根据“最邻近”这一特征来对样本进行分类。
关于形象化描述
近朱者赤近墨者黑就是KNN算法的内核,我们可以理解为距离近的话两个的相关性就更好一些
算法三步骤
- 计算想要分类的点到其余点的距离
- 按距离升序排列,并选出前K(KNN的K)个点,也就是距离样本点最近的K个点
- 加权平均,得到答案
-
欧氏距离
根据以上定义,欧氏距离可以写为:
欧氏距离(L2范数)是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式,也是最常用的距离量度。
-
KNN算法的核心:KDTree
KNN分类算法的思想非常简单,就是k个最近邻多数投票的思想,关键就是在给定的距离量度下,如果快速找到预测实例的最近的k个邻居?
为了快速查找到k个近邻,我们可以考虑使用特殊的数据结构存储训练数据,用来减少搜索次数。其中,KDTree就是最著名的一种。