KNN算法又称为K近邻算法,是机器学习中比较简单的数据挖掘算法,其基本思想也简单,将“距离相近的,判定为同一类”,在整个样本空间中,k个最为接近的样本,大多数属于同一类别。
对其进行一个细致的理解如下:
如果在操场中心有一只羊,在以它为中心的周围,分布着奶牛和山羊,现在要对这只羊进行分类,如果以50M为半径画圆弧,发现范围内有10只羊,2头奶牛,如果以100m为半径进行画圆弧,发现范围内有20头奶牛,5只羊,根据比例来看,前者羊的数量占总数5/6,后者样的数量占1/5,因此我们可以判定中心这个就是羊,计算的半径是通过不断地迭代进行的选择。在不断的半径选择过程中选择类别所占比例的最大部分的种类作为中心的类别label。
KNN算法理论:
(1)计算样本空间的中数据集中点与当前点的距离,这里的距离是欧几里得距离
(2)对距离进行递增的排序,选取与当前待确定的点,距离最为接近的K个样本点,进行范围内样本的类别统计。
(3)选取样本中数据类别最大的数据对应的类别作为待分类的数据的分类结果。
这就是KNN算法的所有计算理论,其实还是很好的理解,下一次我们对具体的python的代码进行一下系统的分析。对手写数字进行一下分类,对代码进行一下理解。
AI学习的道路上我们一起学习进步~