vlambda博客
学习文章列表

【统计】K均值聚类算法是怎样进行数据分类的?


什么是K均值聚类法
K均值聚类(k-means)是基于样本集合划分的聚类算法。

K均值算法把样本划分为k个子集,构成k个类,将所有样本分到k个类中,每个样本到其所属类的中心点(质心)距离最小,这就是k均值聚类,同时,因为一个样本仅属于一个类,也表示了k均值聚类的准确性与便捷性。


k均值聚类算法流程
先设定一个场景:某班有个6人数学学习小组,学期结束后,老师要根据学生期中期末两次考试成绩高低将小组成员分成两部分(人数或相同或不同)。

用什么分类方法最为合理?

若用将每个人两次考试成绩求平均值分类的方法,那么以什么为划分两部分的基础呢?

此时就需要K均值聚类的方法。

1)将6人成绩画在如下的散点图

2)在图表中任意选取2个基准点(分k部分就取k个基准点),将每个数据点这两个数据点直线距离进行比较,到A点近的归为A组(簇),反之则到B组(簇)。


(横轴与纵轴分别代表两次考试的成绩,黄色大点代表任意选取的两个基准点)



3)通过计算计算出A组(簇)与B组(簇)的中心点,作为下一次分类的基准点,重复第二步,得到最终分类结果。

(黄色大点代表计算后每簇的中心点)

总结来说,K均值聚类就是输入n个样本,随后不断寻找k个质心,得出聚类结果的过程。



评价K均值聚类法
优点
1)原理较简单,实现较容易
2)当结果簇是密集的,而簇与簇之间区别明显时, 它的效果较好。
3)主要需要调参的参数仅仅为k的值。
缺点
1K均值算法对初始选取的质心点是敏感的,不同的随机种子点得到的聚类结果完全不同,对结果影响很大。
2)对异常点比较敏感(可用来检测异常值)




上述仅为对K均值聚类法的初步探讨,并非对数学原理的具体讲述。

聚类分析是一种重要的人类行为,我们每个人实际上在 意识 中就运用聚类模式来学会如何区分猫狗、动物植物。人们在许多领域都对K均值进行深入研究,使其2可以广泛运用在生活中,也是在统计、分类数据时的重要帮手。


以上,只是停留在基础浅显的层面。不同方法适合于不同类型的分析,各种聚类方法得出不同的聚类效果,将吸引着我们一起去探讨、挖掘。