我有一种感觉,这是一个非常简单的问题,但我想不出来。
我有一小组轨迹,我正在尝试使用scipi hcluster对它们进行聚类。

我在这方面已经取得了成功。
from hcluster import linkage, dendrogram
l = linkage(matrix)
d = dendrogram(l)
show()

然而,我不知道如何将树状图分配的颜色映射回原始轨迹。树状图具有以下关键字'ivl','dcoord','leaves','color_list','icoord‘。根据文档,“ivl”是打印在图的底部的一组标签,由于字体很小,这些标签是无法阅读的。
我尝试过以下几种方法
for index, label in enumerate(d['ivl']):
print 'trajectory #%s has color %s' % (label, d['color_list'][index])然而,这被夸大了,因为color_list中的颜色比ivl中的标签少了一种。当我看树状图时,我可以清楚地看到2个绿色,2个红色,3个品红色,等等。但是树状图告诉我并非如此。
from collections import Counter
Counter(d['color_list'])
Counter({'y': 68, 'b': 18, 'm': 2, 'c': 1, 'g': 1, 'r': 1})所以最后我要问的是。这个可怕的结构是什么?我如何通过树状图实际获得分配给每个轨迹的颜色?
发布于 2013-01-25 00:17:08
我也有同样的问题,找到了你的帖子。希望您现在已经找到了答案,因为已经过了几个月了,但是以防其他人也遇到这个问题:您可以使用函数fcluster来获取集群:http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.fcluster.html#scipy.cluster.hierarchy.fcluster
fcluster(Z,0.7*max(Z[:,2]),'distance')应该将fcluster参数与默认的树状图参数相匹配。
希望这能起作用!
https://stackoverflow.com/questions/12163158
复制相似问题