聚类分析是数据挖掘应用的技术之一,可以看作一种数据分析方法,也可以作为数据挖掘技术的预处理。聚类算法属于无监督学习的范畴,不需要人为事先确定好聚类的类别,所以常常被用来对未知类别的数据(如电力日负荷曲线)进行划分。聚类算法通过一定的计算,把数据集划分为不同的簇,旨在使同一簇内的数据相似性最高,簇与簇之间差距最大。
1.聚类算法的分类
常见的聚类算法可分为以下几类:
(1) 划分法:即通过不断地迭代,使具有相似特征的数据划分为一类,具有不同特征的数据划分为另一类,直至满足迭代终止条件,划分结束。每个分组内都有对象,且每个对象只能在一个分组内。
(2) 层次法:将数据集内的对象分解或合并,最终形成的结构具有层次结构的树。其过程是将所有的数据放在一个簇里,通过某种策略将这个簇分成越来越小的分组,使同一分组内的数据离散度越来越小,直到分组满足终止条件或称为一个单独的簇。
(3) 基于密度的聚类:基于密度方法的聚类分析认为最终形成的聚类结果是由一个聚集在一起的样本点组成,这些数据对象分布紧凑,称之为高密度区,处于这些簇间隙的数据对象分布相对零散,称之为低密度区。算法旨在将数据分布分散的区域与数据分布集中的区域分散开,从而找到聚类目标。
(4) 基于网格方法的聚类:将数据集分成若干个数据单元,以数据单元为最小单位进行聚类。此方法只需关心网格数,不需要关心数据集内对象本身。
(5) 基于模型的方法聚类:与数学模型结合,为每个聚类目标寻找一个合适的数学模型,通过数学模型,将数据聚类。数学模型一般选择基于概率密度分布的函数或者选择体现相关性的函数。