4.1 原理介绍

KNN算法又称K近邻分类(k-nearest neighbor classification)算法,是根据不同特征值之间的距离来进行分类的一种机器学习方法,是一种简单但懒惰的算法。KNN算法的训练数据都是有标签的数据,即训练的数据都有自己的类别,主要应用领域是对未知事物进行分类,也可以用于回归。

4.1.1 算法思想

KNN算法用于分类的核心思想是:存在一个训练样本集,并且样本集中每个数据都存在标签(分类)。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,算法提取样本集中特征最相似数据(最近邻)的分类标签。最后,选择k个最相似数据中出现次数最多的分类,作为新数据的分类。

KNN算法用于回归的核心思想是:找到近邻的k个样本,然后取平均值作为未知样本的值,对其进行预测。

4.1.2 算法流程

KNN算法是分类算法中的基础算法,可以简单将该算法归结为以下三步。

1)算距离:给定未知对象,计算它与训练集中的每个对象的距离。

2)找近邻:圈定距离最近的k个训练对象,作为未知对象的近邻。

3)做分类:在这k个近邻中出现次数最多的类别就是测试对象的预测类别。