首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在scipy中修剪树状图(层次聚类)

在Scipy中修剪树状图(层次聚类)可以使用scipy.cluster.hierarchy模块中的linkage函数。linkage函数用于计算层次聚类(树状图)的相似度矩阵。以下是一个示例代码:

代码语言:python
代码运行次数:0
复制
from scipy.cluster.hierarchy import linkage, dendrogram
import matplotlib.pyplot as plt

# 假设我们有一个距离矩阵,它表示样本之间的相似度
distances = [[0, 1, 0.5, 0.8, 0.9, 0.2, 0.4],
              [1, 0, 0.6, 0.8, 0.9, 0.1, 0.5],
              [0.5, 0.6, 0, 0.4, 0.8, 0.9, 0.2],
              [0.8, 0.8, 0.4, 0, 0.2, 0.5, 0.6],
              [0.9, 0.9, 0.8, 0.2, 0, 0.4, 0.8],
              [0.2, 0.1, 0.9, 0.5, 0.4, 0, 0.9],
              [0.4, 0.5, 0.2, 0.6, 0.8, 0.9, 0]]

# 使用linkage函数计算层次聚类
Z = linkage(distances, method='ward')

# 绘制树状图
plt.figure()
dendrogram(Z)
plt.xlabel('样本索引')
plt.ylabel('距离')
plt.title('层次聚类:树状图')
plt.show()

在这个示例中,我们使用linkage函数计算层次聚类,并将结果存储在Z变量中。然后,我们使用dendrogram函数绘制树状图。dendrogram函数需要接收一个相似度矩阵(例如,通过distances变量计算得到)和一个聚类数(默认为2),并返回一个树状图。

这个示例代码将绘制一个简单的树状图,展示了样本之间的层次聚类。你可以根据需要调整distances变量的值,以适应你的数据集。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

23分14秒

第 3 章 无监督学习与预处理:凝聚聚类

16分8秒

人工智能新途-用路由器集群模仿神经元集群

领券