一、什么是聚类分析
聚类原本是统计学的概念,现在属于机器学习中非监督学习的范畴,大多应用在数据挖掘、数据分析的领域。
从定义上讲,聚类就是针对大量数据或者样品,根据数据本身的特性研究分类方法,并遵循这个分类方法对数据进行合理的分类,最终将相似数据分为一组,也就是“同类相同、异类相异”。
二、聚类不是分类
分类是指有一个明确的划分标准,根据划分标准对对象集合进行分类;
聚类没有明确标准,需要靠算法判断数据之间的相似性,把相似的数据放在一起。
也就是说,在聚类结论出来之前,我们完全不知道每一类有什么特点,而是根据聚类的结果来判断聚成的这一类有什么特点。
三、聚类的方法
数据分析中常用K-Means聚类法。
1、确定分组数
K-Mcans聚类法中的K就是分组数,也就是我们希望通过聚类后得到多少个组类。比如我有下面六个数据,想要将这些数据分成两类,那么K=2 。
2、随机选择K个值作为数据中心
这个数据中心的选择是完全随机的,也就是说怎么选择都无所谓,因为这里K=2,所以我们就以A和B两个为数据中心。
为了方便理解,我们可以制作一个散点图,将A、B作为数据中心。
3、计算其他数值与数据中心的“距离”
既然选择了数据中心,那么它们的周围一定会有很多相似数据,怎么判断这些数据与其是不是相似呢?
这里我们要引入欧氏距离的概念,通俗点说欧氏距离就是多维空间中各个点之间的绝对距离,表明两点之间的距离远近,其公式为:
如果是普通的二维数据,这个公式就直接变成了勾股定理,因此我们算出其他6个点距离A和B的距离,谁离得更近,谁与数据中心就是同一类。
所以,我们可以看出,C-H距离B的距离都比距离A更近,所以第一次分组为:
第一组:A
第二组:B、C、D、E、F、G、H
4、重新选择新的数据中心
得到了第一次分组的结果,我们再重复前两个步骤,重新选择每一组数据的数据中心。
第一组只有A,所以A仍然是数据中心;
第二组有7个数值,将这个7个数值的平均值作为新的数据中心,我们将其命名为P,计算平均坐标为(5.14 ,5.14)
5、再次计算其他数据与新数据中心的距离
还是直接计算勾股定理,计算出其他数据与A和P的欧氏距离,如下:
我们可以看出这里面有的距离A近,有的距离P近,于是第二次分组为:
第一组:A、B
第二组:C、D、E、F、G、H
6、再次重新选择数据中心
这里就是老规矩了,继续重复前面的操作,将每一组数据的平均值作为数据中心:
第一组有两个值,平均坐标为(0.5 ,1),这是第一个新的数据中心,命名为O
第二组有六个值,平均值为(5.8 , 5.6),这是第二个新的数据中心,命名为Q
7、再次计算其他数据与新数据中心的距离
这时候我们发现,只有A与B距离O的距离更近,其他6个数据都距离Q更近,因此第三次分组为:
第一组:A、B
第二组:C、D、E、F、G、H
经过这次计算我们发现分组情况并没有变化,这就说明我们的计算收敛已经结束了,不需要继续进行分组了,最终数据成功按照相似性分成了两组。
8、方法总结
重复选择数据中心-计算距离-分组的流程直至数据分组不再变化