我有一个(对称)矩阵M
,表示每对节点之间的距离。例如,
ABCDEFGHIJKL 0 20 20 20 40 60 60 60 100 120 120 120 B 20 0 20 20 60 80 80 80 120 140 140 140 C 20 20 0 20 60 80 80 80 120 140 140 140 D 20 20 20 0 60 80 80 80 120 140 140 140 E 40 60 60 60 0 20 20 20 60 80 80 80 F 60 80 80 80 20 0 20 20 40 60 60 60 G 60 80 80 80 20 20 0 20 60 80 80 80 H 60 80 80 80 20 20 20 0 60 80 80 80 100 120 120 120 60 40 60 60 0 20 20 20 Ĵ 120 140 140 140 80 60 80 80 20 0 20 20 K 120 140 140 140 80 60 80 80 20 20 0 20 120 140 140 140 80 60 80 80 20 20 20 0
是否有任何方法可以从中提取集群M
(如果需要,可以固定集群的数量),以便每个集群包含它们之间距离小的节点。在示例中,集群将(A, B, C, D)
是(E, F, G, H)
和(I, J, K, L)
。
我已经尝试过 UPGMA 和k
-means 但生成的集群非常糟糕。
距离是随机游走者从 nodeA
到 node B
( != A
) 并返回 node的平均步数A
。可以保证这M^1/2
是一个指标。要运行k
-means,我不使用质心。我将节点n
簇之间的距离定义为 中所有节点c
之间的平均距离。n
c
非常感谢 :)