一、K近邻(KNN)算法是一种常见的监督学习算法,用于分类和回归问题。它基于一个简单的思想:如果一个样本在特征空间中的K个最近邻居中的大多数属于某一个类别,那么该样本很可能属于该类别。
二、 基本原理:如下图,在一个样本集中,以需要预测的样本为半径中心(图中圆心),通过特定的距离计算方法将数据集中不同特征的数据进行与样本测距,并分布在以圆心为半径的圆上(图中的各个三角形菱形图,此时对于要预测的圆心点我们去选择距离圆心最近的k个点中相同特征最多的点来预测圆心样本的特征。
例如当k=3时,图中距离中心样本的最多的是菱形,则预测中心样本也为菱形;而当k=5时,距离中心样本最多的则是三角形,则预测中心样本也为三角形。
因此对于knn算法来说,k的取值是非常重要的,不同的取值预测的结果是不同的。
三、knn算法中常用的距离指标
·欧几里得距离:
它也被称为L2范数距离。说白话点其实就是两点之间的直线距离,公式: