我正在处理来自几个不同样本站(站)的一组物种计数(计数)。我已经使用 scikit-bio 的 pw_distance 函数计算了每对可能的样本站之间的 Bray-Curtis 相似度。这会产生一个距离矩阵,其值介于 0 和 1 之间。到目前为止一切都很好。
我想使用该距离矩阵生成树状图,显示样本站如何聚集在一起。我正在使用 scipy 的 hierachy.linkage 函数来查找树状图的链接,然后使用 hierarchy.dendrogram 进行绘图。
这是我的代码:
from skbio.diversity.beta import pw_distances
from scipy.cluster import hierarchy
bc_dm = pw_distances(counts, stations, metric = "braycurtis")
# use (1 - bc_dm) to get similarity rather than dissimilarity
sim = 1 - bc_dm.data
Z = hierarchy.linkage(sim, 'ward')
hierarchy.dendrogram(
Z,
leaf_rotation=0., # rotates the x axis labels
leaf_font_size=10., # font size for the x axis labels
labels=bc_dm.ids,
orientation="left"
)
据我了解,树状图上的距离应对应于 Bray-Curtis 相似度(类似于距离),但树状图上的距离值最大超过 30。这是正确的吗?如果不是,我如何缩放我的距离以对应样本站之间的 Bray-Curtis 相似性?如果它是正确的,树状图上的距离真正对应的是什么?