- 概述
Knn算法是相对来说比较简单的一个算法,也是比价容易理解的。他是一种用距离衡量样本间关系的一种算法,由于样本点的分类是已知的,所以用需要测试的点,找到与其距离相近的k个点(一般用欧式距离),我们就把这个测试的点归类为这k个点中占比重较大的分类。
- 模型
K近邻算法,没有显式的学习过程,每次运算都要用到所有的点,即计算到所有点的距离,一般是用欧式距离进行衡量。这里和聚类分析算法过程的衡量方法比较相似,聚类分析是通过距离运算找到一堆距离比较近的点,knn也是找到距离相近的点。感觉都有一些人以类聚,物以群分的感觉,就是将属性相近的点聚在一起,从这个层面来说,knn也是适用于多分类,多特征值的问题。
Knn算法有三大要素:距离度量,k值选择,分类决策选择。
- 距离度量
常见的距离有Lp距离,Minkowski(闵可夫斯基)距离,欧氏距离,在knn中常用的是欧式距离,也是我们最好理解的距离,即我们常见的点与点的之间的距离。
-
<