Python SciPy 层次聚类分析代码解释
这段代码使用 scipy 库中的层次聚类方法进行聚类分析。
首先,计算了一个距离矩阵,使用的是 pdist 函数,它可以计算任意两个样本之间的距离。
然后,使用 linkage 函数进行聚类步骤的存储,这里使用的是 ward 方法和 cosine 距离度量。
接着,设定了一个 cutoff 值,表示控制类别数目为 5。
最后,使用 fcluster 函数进行聚类,并绘制了一个树状图,使用的是 dendrogram 函数。
代码如下:
from scipy.cluster import hierarchy
import matplotlib.pyplot as plt
dist = hierarchy.distance.pdist(df_2) # 计算距离矩阵
linkage = hierarchy.linkage(dist, method='ward', metric='cosine') # 聚类步骤存储
cutoff = 5 # 控制类别数目为 5
clusters = hierarchy.fcluster(linkage, cutoff, criterion='maxclust')
plt.figure(figsize=(80, 20))
hierarchy.dendrogram(linkage, labels=df_2.index, leaf_font_size=12, color_threshold=cutoff)
plt.show()
原文地址: https://www.cveoy.top/t/topic/nE2F 著作权归作者所有。请勿转载和采集!