文章原因:在学习数据挖掘这门课程中,遇到第一个聚类分析 k-means算法,本文意在对其进行简单总结归纳。
聚类的定义:聚类分析是指将多个无明显分类特征的对象,按照某种相似性分成多个簇(Cluster)的分析过程。
聚类分析起源于分类学,在古老的分类学中,人们主要依靠经验和专业知识来实现分类,很少利用数学工具进行定量的分类。随着人类科学技术的发展,对分类的要求越来越高,以致有时仅凭经验和专业知识难以确切地进行分类,于是人们逐渐地把数学工具引用到了分类学中,形成了数值分类学,之后又将多元分析的技术引入到数值分类学形成了聚类分析。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。
K-means 算法介绍
其基本思想如下:
- 随机选取一个K值,用以确定簇的总数。
- 在数据集中任意选取K个实例,将他们作为初始的簇的中心。
- 计算这K个簇中心与其他剩余实例的简单欧氏距离(Euclidean Distance),用这个距离作为实例之间相似性的度量,将与某个簇相似度高的实例划分到该簇中,成为其成员之一。
- 使用每个簇中实例来计算该簇的簇中心。
- 如果计算得到新的簇中心等于上次迭代的簇中心,终止算法过程。否则,用新的簇中心作为簇中心并重复步骤3~5。
K-means算法仅支持简单的欧式距离和曼哈顿距离。
D i s t a n c e ( A