Clustering

【聚类算法之层次聚类(Hierarchical Clustering)】 层次聚类是一种独特且强大的聚类方法,它不仅提供数据集的划分,还展示层次结构,这在生物信息学、社会网络分析、市场研究等领域应用广泛。层次聚类方法揭示数据深层结构与关系,具有显著优势。算法解读:层次聚类是一种树形方法,构建层次聚类结构,表现为“树状图”,数据点位于树的叶子,...

聚类算法之层次聚类(Hierarchical Clustering)

层次聚类是一种独特且强大的聚类方法,它不仅提供数据集的划分,还展示层次结构,这在生物信息学、社会网络分析、市场研究等领域应用广泛。层次聚类方法揭示数据深层结构与关系,具有显著优势。

算法解读:层次聚类是一种树形方法,构建层次聚类结构,表现为“树状图”,数据点位于树的叶子,通过合并或分裂形成树状结构。凝聚型(Agglomerative)算法始于每个数据点为独立聚类,最终合并形成一个包含所有数据点的聚类。分裂型(Divisive)算法从所有数据点为一个大聚类开始,逐步分裂为独立聚类。

举例:以四种物种(A、B、C、D)基因表达数据为例,使用层次聚类探索相似性与进化关系。通过计算基因表达数据间的距离,凝聚型算法将距离最近的物种合并,构建树状图展现物种间相似性与层次结构。分裂型算法则从所有物种聚类开始,逐步分裂为独立聚类,同样构建树状图。

代码示例:Python的scipy库可用于演示凝聚型与分裂型层次聚类方法。简单代码展示凝聚型层次聚类过程。

算法评价:层次聚类优点包括动态聚类数的适应性与直观层次结构的解释性;缺点在于计算复杂度随数据量增加急剧上升,不适用于大数据集。变体包括凝聚型与分裂型层次聚类的不同距离度量与链结标准,例如最近邻链结、最远邻链结、平均链结与Ward链结等。

分裂型层次聚类较少使用,但在特定应用中具有优势,如生物信息学中基于基因表达模式的样本分类。分裂型与凝聚型层次聚类结合可能在某些情况下提供更佳聚类结果。

与其他聚类算法比较,层次聚类无需指定聚类数目,展示数据层次结构,适用于探索性数据分析,但计算复杂度通常较高,不适合大规模数据集。
继续阅读:聚类算法之层次聚类(Hierarchical Clustering)