我有一个(对称)矩阵M,表示每对节点之间的距离。例如,
M
ABCDEFGHIJKL 0 20 20 20 40 60 60 60 100 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 我100120120120 60 40 60 60 0 20 20 20 J 120140140140 80 60 80 80 20 0 20 20 K 120 140 140 140 80 60 80 80 20 20 0 20 L 120140140140 80 60 80 80 20 20 20 0
是否有任何方法可以从中提取群集M(如果需要,可以固定群集的数量),以使每个群集包含的节点之间的距离很小。在该示例中,聚类将是(A, B, C, D),(E, F, G, H)和(I, J, K, L)。
(A, B, C, D)
(E, F, G, H)
(I, J, K, L)
非常感谢 :)
层次聚类直接使用距离矩阵而不是实际观察值。如果您知道集群的数量,您将已经知道您的停止标准(当有k个集群时停止)。这里的主要技巧是选择合适的链接方法。另外,本文(pdf)很好地概述了各种聚类方法。