这段代码使用 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()
Python SciPy 层次聚类分析代码解释

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

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