我使用模塊hcluster從距離矩陣計算樹狀圖。我的距離矩陣是這樣生成的數組的數組:python 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只能用於壓縮矢量,或者我在那裏犯錯誤。
感謝您的幫助!
馬特你好,非常感謝您的回覆。聽到傳遞矢量是要走的道路是令人欣慰的。 – 2011-04-20 14:37:55