一、简介
K近邻算法(K-Nearest Neighbors,简称KNN)是一种用于分类和回归的统计方法。KNN 可以说是最简单的分类算法之一,同时,它也是最常用的分类算法之一。
1.1原理
KNN算法是选择与输入样本在特征空间内最近邻的k个训练样本并根据一定的决策规则,给出输出结果 。
决策规则:
分类任务:输出结果为k个训练样本中占大多数的类 。
回归任务:输出结果为k个训练样本值的平均值 。
如下图的分类任务,输出结果为w1类 。
1.2 距离计算
KNN算法的一个关键问题,就是如何判断距离最近。常用欧氏距离计算:
在二维空间中,公式为:
n维空间中,公式为:
二、步骤
(1)计算已知类别数据集中的点与当前点之间的距离;
(2)按照距离递增次序排序;
(3) 选取与当前点距离最小的k个点;
(4) 确定前k个点所在类别的出现频率;
(5) 返回前k个点出现频率最高的类别作为当前点的预测类别。
三、代码实现
使用KNN算法对糖尿病数据集进行分类
1、导入所需的库
2、准备数据集,将其划分为训练集和测试集
3、创建KNN分类器对象,并进行训练
4、对测试集数据进行预测
5、运行结果为