KNN算法

K近邻算法

原理:任何样本点的特征和该点的邻近点特征类似,so我们可以认为使用某个点的多个邻近点的特征就可以表示该点的特征。
KNN分类算法:就是邻近点中类别最多的那个类别作为当前点的类别。
KNN回归算法:使用所有邻近点的均值作为当前点的回归预测值。

KNN分类算法举例说明。如图:

KNN算法
例如:黄色圆圈要被赋予那个类,是绿色三角形还是紫色矩形。
如果:K=3,由于绿色三角形占比为2/3,紫色矩形占比为1/3,则黄色圆圈将被赋予绿色三角形。
如果:K=5,由于绿色三角形占比为2/5,紫色矩形占比为3/5,则黄色圆圈将被赋予紫色矩形。

KNN算法中,K是一个超参,需要交叉验证来确定(一般K取值为奇数),K值过小可能会导致过拟合(可能噪声点的数据会产生不好的影响),K值过大会增加计算量。

KNN的核心就是找出邻近点,需要使用某个公式或者某种方式来判断样本点的距离,一般使用欧几里得距离。
欧几里得距离 计算A和B样本点的欧几里得距离方法如下:
KNN算法
KNN算法