【发布时间】:2011-08-08 13:07:22
【问题描述】:
我正在使用模块 hcluster 从距离矩阵计算树状图。我的距离矩阵是这样生成的数组数组:
import hcluster
import numpy as np
mols = (..a list of molecules)
distMatrix = np.zeros((10, 10))
for i in range(0,10):
for j in range(0,10):
sim = OETanimoto(mols[i],mols[j]) # a function to calculate similarity between molecules
distMatrix[i][j] = 1 - sim
然后我使用命令distVec = hcluster.squareform(distMatrix) 将矩阵转换为压缩向量并计算与vecLink = hcluster.linkage(distVec) 的链接矩阵。
所有这些都可以正常工作,但是如果我使用距离矩阵而不是压缩向量 matLink = hcluster.linkage(distMatrix) 计算链接矩阵,我会得到一个不同的链接矩阵(节点之间的距离要大得多,拓扑结构略有不同)
现在我不确定这是因为 hcluster 仅适用于压缩向量,还是我在此过程中犯了错误。
感谢您的帮助!
【问题讨论】: