层次聚类链接矩阵:hierarchy.linkage() 函数详解

hierarchy.linkage() 函数是 Python scipy.cluster.hierarchy 模块中的一个重要函数,用于执行层次聚类算法。该函数返回一个层次聚类的链接矩阵,包含每个聚类合并的信息。

链接矩阵的结构

链接矩阵是一个二维数组,其中每一行代表两个聚类的合并。每一行包含以下信息:

  • 索引 1:第一个被合并的聚类的索引。
  • 索引 2:第二个被合并的聚类的索引。
  • 距离:两个聚类之间的距离。
  • 大小:合并后的新聚类的样本数量。

使用链接矩阵

链接矩阵可以用于多种用途,例如:

  • 绘制聚类树形图: 使用 scipy.cluster.hierarchy.dendrogram() 函数,可以根据链接矩阵绘制树形图,直观地展示聚类合并的过程。
  • 获取聚类划分信息: 可以使用 scipy.cluster.hierarchy.fcluster() 函数,根据链接矩阵和指定的阈值,获取聚类划分信息。

示例

from scipy.cluster.hierarchy import linkage, dendrogram
from matplotlib import pyplot as plt

# 假设数据为一个二维数组
data = ...

# 使用 'ward' 方法计算链接矩阵
Z = linkage(data, method='ward')

# 绘制树形图
dendrogram(Z)
plt.show()

总结

hierarchy.linkage() 函数返回的链接矩阵包含了层次聚类算法的全部信息。通过分析链接矩阵,可以深入了解聚类合并过程,并绘制树形图或获取聚类划分信息。

层次聚类链接矩阵:hierarchy.linkage() 函数详解

原文地址: https://www.cveoy.top/t/topic/nEU4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录