1.KNN算法讲解
KNN算法,K最近邻分类算法(K-NearestNeighbor)是数据挖掘分类技术中最简单的方法之一。KNN的分类结果表明k个最近的邻居可以来代表测试样本数据的分类类型。
请思考一个问题,给二维坐标中点进行贴标签:
已经有被贴了标签“A”的点:(4 35),(5 38), (6 30)
已知有被贴了标签“B”的点:(10 12),(11 15),(12 10)
现在有一个未被贴标签的点:(8 16)
请问测试点(8 16)应该被贴上什么标签,是“A”还是“B”呢?
下面是python实现的KNN算法运行的结果图:
下面说明下KNN算法的计算步骤:
1)计算待测试数据与训练数据集中的每个训练数据之间的距
KNN算法采取的是欧氏距离,即连个点之间的真是距离。如二维空间中俩点(x1, y1)、(x2、y2)的欧氏距离公式为:
2)按照距离的递增关系对训练数据集中的数据进行排序
3)获取距离最小的K个点,即排序中的前K个训练数据
4)计算排序中的前K个训练数据所在标签出现的频率
5)返回前K个点中出现频率最高的类别 作为 测试数据的预测分类
那我们按照上面的计算步骤,来将上面测试数据(8, 16)是如何被贴上标签"B"的,详细计算步骤如下所示
被贴了标签“A”的点:(4 35),(5 38), (6 30)
被贴了标签“B”的点:(10 12),(11 15),(12 10)
未被贴标