邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。
k-近邻算法概述
k-近邻算法采用测量不同特征值之间的距离方法来进行分类,距离计算方法可以有很多,其中比如说有欧式距离,曼哈顿距离,标准化欧式距离,夹角余弦等等,可以参考 yoyo 的博客: http://blog.sina.com.cn/s/blog_52510b1d01015nrg.html ,距离算法的选择应当参考实际的项目需求,这里作为例子用欧氏距离来计算距离。
接下来来看看 kNN 算法的工作原理:首先我们一个样本集合,也称为训练样本集,在训练样本集中每个数据都存在一个标签用来指明该数据的所属分类。在输入一个新的未知所属分类的数据后,将新数据的所有特征和样本集中的所有数据计算距离。从样本集中选择与新数据距离最近的 k 个样本,将 k 个样本中出现频次最多的分类作为新数据的分类,通常 k 是小于20的,这也是 k 的出处。
k近邻算法的优点:精度高,对异常值不敏感,无数据输入假定。
k 近邻算法的缺点:时间复杂度和空间复杂度高
数据范围:数值型和标称型
简单的k 近邻算法实现
第一步:使用 python 导入数据