在数据挖掘和统计学中,层次聚类(英语:Hierarchical clustering)是一种旨在建立聚类的层次结构的聚类分析方法。层次聚类的策略通常有两种:
凝聚和分离的操作通常用贪心算法实现,结果通常用树状图展示。
标准的凝聚层次聚类(Hierarchical agglomerative clustering,HAC)算法的时间复杂度为和的合并后,形成的集群为:{}、{, }、{}、{} 、{},对其进行进一步的合并需要度量集群{a}和{b, c}之间的距离(即两个集群间的距离)。通常将集群
和 之间的距离定义为:当若干对组合具有同样的距离且为最小时,可以随机选取一对形成集群(生成不同的树状图);也可以同时形成不同的集群(生成唯一的树状图)。
聚类算法的停止准则可以取决于数量(当形成足够少的集群时停止);也可以取决于距离(当两个集群之间的距离足够远,以至于不能形成新集群时停止)。
DIANA(DIvisive ANAlysis Clustering)是分裂层次聚类的基础算法。 首先,所有元素归属同一个集群,然后分裂集群,直到所有元素都独立成群。由于存在
种方法进行分裂,因此需要启发式(Heuristics)算法实现。DIANA选择平均异同度(Average dissimilarity)最大的元素,然后将所有与新集群相似度高于其余集群的元素划分到该集群。