如何使用树状图处理大量的数据

2024-04-25 19:48:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python2.7.9。
我使用scipy.cluster.hierarchy.dendrogram来显示我的聚类结果。Dendrogram here。我有200个数据。我看不清他们的标签。在

...
z=linkage(dist, method='complete')
R=dendrogram(z, labels=mylabels)

enter image description here

1.我知道R["ival"]有与叶节点相对应的标签,但在如此密集的图形中匹配值和数据并不是一件容易的事。在

2.我想提取一部分数据。例如,左边的绿色链接。在这个比例下,标签可以看得很清楚。我认为这是一种非常灵活的分析数据的方法。但我不知道怎么做。在

3.我使用leaf_label_func。我的目标是:当一个数据真正属于一个类(比如cups)时,显示其名称/标签的一部分。例如,如果一个模型的名称是“cups_b1”,那么只需显示“b1”。所以,至少我一次可以看到我的数据的一个类别的位置。在

^{pr2}$

但即使这样,我也认不出这些标签。在

enter image description here


Tags: 数据名称herehierarchydist聚类scipy标签
1条回答
网友
1楼 · 发布于 2024-04-25 19:48:15

其实并没有一个很好的方法可以从树状图中提取出一些小细节。想到了几个解决方案。在

使用图形外部的群集数据。在

from collections import defaultdict

clusterdict = defaultdict(list)
for ind,clust in zip(R['leaves'],R['color_list']):
    clusterdict[clust].append(ind)

现在您可以单独探索每个集群。在

^{pr2}$

另一个选择是在两个轴(x,y)上打印树状图,如代码here所示。如果你一定要看到图表上的标签,你可以在x轴上打印一半标签,在y轴上打印一半标签。在

相关问题 更多 >