理论基础
KNN算法也可以叫做最近邻算法,找到该位置最近的K个邻居,并且在K个邻居中选择最近的占比最高的类别作为预测类别,我们可以通过一个图来理解
待预测的绿色的圆圈属于 哪一类我们要看临近的类别,如果取 K=3(图中的实心圆),红色三角形所占的比例为 2/3,蓝色正方形所占的比例为1/3,那么我们绿色圆可以被赋予红色三角形类别,如果取K=5的话,那么红色三角形占的比例为2/5,蓝色正方形所占的比例为3/5,此时绿色圆被赋予蓝色正方形类别。
KNN算法步骤
注:在算法中俩个因素会影响算法准确度:一个是预测对象和各个对象的距离,另一个是k值的选择。
下面说一下常见的两个测量距离的公式:曼哈顿距离和欧式距离
曼哈顿距离
- 假设先只考虑两个点,第一个点的坐标为(X1,y1),第二个点的坐标为(X2,y2),那么,它们之间的曼哈顿距离就是
∣ x 1 − x 2 ∣ + ∣ y 1 − y 2 ∣ \left|x_1-x_2\right|+\left|y_1-y_2\right| ∣x1−x2∣+∣y1−y2∣
欧式距离
- 以空间为基准的两点之间的最短距离。还是假设只有两个点,第一个点的坐标为(x1,y1),第二个点的坐标为(x2,y2),那么它们之间的欧式距离就是
( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 \sqrt{\left (x_{1}-x_{2} \right )^{2}+\left (y_{1}-y_{2} \right )^{2} } (x