不同的链接颜色在Scipy树形图中意味着什么?

mec1mxoz  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(153)

我用SciPy制作了下面的树状图:


# create the dendrogram

from scipy.cluster import hierarchy as hc
from scipy.stats import spearmanr as sp
import matplotlib.pyplot as plt
%matplotlib inline

corr = np.round(sp(data_for_cluster).correlation, 4)
corr_condensed = hc.distance.squareform(1-corr)
z = hc.linkage(corr_condensed, method='average')
fig = plt.figure(figsize=(20,35))
dendrogram = hc.dendrogram(z, labels=vals_to_keep, orientation='left', 
leaf_font_size=14)
plt.show()

它给出了以下图片:

我不太清楚如何解释树形图中的颜色,从documentation中可以看到color_threshold参数的描述:
为简单起见,设t为color_threshold。如果k是分割阈值t以下的第一个节点,则将聚类节点k以下的所有后代链接着色为相同的颜色。连接距离大于或等于阈值的节点的所有链接着色为蓝色。如果t小于或等于零,则所有节点着色为蓝色。如果color_threshold为None或“default”,则对应于MATLAB(TM)行为时,阈值被设置为0.7*max(Z[:,2])。
然而,令我困惑的是,为什么有些看起来非常接近的聚类没有被赋予不同的颜色,而其他相距较远的聚类......却被赋予了不同的颜色。
我认为,在其他条件相同的情况下,聚类越紧密,它们就越有可能是不同的颜色,以表示聚类成员,但事实似乎并非如此。

u0njafvf

u0njafvf1#

我相信,如前所述,系统树图的着色是基于阈值0.7max(Z[:,2])。第一个聚类为绿色,第二个聚类为黑色,这种着色一直持续到达到阈值。所有其他着色也是如此。这意味着达到0.7max(Z[:,2])阈值的系统树图显示相同的颜色。

相关问题