【发布时间】:2020-01-16 12:33:58
【问题描述】:
我正在编写程序如何计算层次聚类中的最佳聚类数,聚类数由穿过树垂直线的水平线数定义
如何在树状图中使用 axhline 和树线计算水平线之间的交叉线数? ,这是我的可视化脚本,但我不知道如何计算交叉次数
plt.figure(0)
plt.figure(figsize=(20, 7))
plt.title("Customer Dendograms")
L=shc.linkage(X, method='average')
dend = shc.dendrogram(L)
plt.axhline(c=c,linestyle='--', y=35)
plt.show()
【问题讨论】:
-
这不是可以使用 matplotlib 以图形方式解决的问题,因此我删除了该标签。您需要弄清楚
linkage函数返回的链接矩阵L的格式,也许很容易从中得到答案。或者,您可以查看dendogram函数的源代码,该函数使用此信息绘制绘图,它应该知道它绘制的所有线条的坐标。您可以修改该代码,以便它检查绘制的所有垂直线是否越过您感兴趣的级别。
标签: python scipy cluster-analysis hierarchical-clustering