概述k近邻算法可以用来做分类关于样本间的距离Python实现概述k近邻算法是机器学习算法中最简单基础的算法,大意是给你一个样本a,计算出和它距离最近的k个样本,这k个样本也即与a最相似的样本,它们组成了a的K近邻域.k的取值通常是一个不大于20的整数.k近邻算法可以用来做分类具体做法是,对于未知类别的样本a,我们计算a样本与每个训练样本的距离,然后对距离排序,得到前k个距离最小的样本,这k个样本中哪个类别的样本多,我们就说a可以分到该类别中.关于样本间的距离样本间的距离,也即特征向量间的距离 定义的方式比较多,常见的有最简单的欧氏距离,还有其他的一些距离计算方式也需要了解,比如余弦距离,pearson距离,CityBlock距离,Minkowski距离等等等等,不同距离的选择会对相似度计算产生不同的影响,在实际的项目中,可以多做尝试,来选取最好的距离公式.距离的计算在很多机器学习算法中都有用到,比如以后会提到的相似度计算,k均值聚类等等等.###优缺点优点:最简单最有效,对异常值不敏感缺点:当训练数据量很大时,必须有非常大的空间来存储训练数据,此外必须对数据集中的每个数据计算距离值,回非常耗时.另一个缺陷是他无法给出任何数据的 基础结构信息,因此我们无法知晓平均实例样本和典型实例样本具有什么特征.后续的概率测量方法处理分类会解决这个问题Python实现#encoding:utf8f
...
继续阅读
(28)