文章目录
1. KNN算法简介
K Nearest Neighbor算法又叫KNN算法,这个算法是机器学习里面一个比较经典的算法,总体来说KNN算法是相对比较容易理解的算法。
(1)定义
如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
(来源:KNN算法最早是由Cover和Hart提出的一种分类算法)
(2)距离公式
两个样本的距离可以通过如下公式计算,又叫欧式距离,关于距离公式会在后面进行讨论。
二维平面上点 a ( x 1 , y 1 ) a(x_1, y_1) a(x1,y1)与 b ( x 2 , y 2 ) b(x_2, y_2) b(x2,y2)间的欧氏距离: d 12 = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 d_{12}=\sqrt {(x_1-x_2)^2+(y_1-y_2)^2} d12=(x1−x2)2+(y1−y2)2
三维平面上点 a ( x 1 , y 1 , z 1 ) a(x_1, y_1, z_1) a(x1,y1,z1)与 b ( x 2 , y 2 , z 2 ) b(x_2, y_2, z_2) b(x2,y2,z2)间的欧氏距离: d 12 = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 + ( z 1 − z 2 ) 2 d_{12}=\sqrt {(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2} d12=(x1−x2)2