J'ai une matrice (symétrique) M
qui représente la distance entre chaque paire de nœuds. Par exemple,
ABCDEFGHIJKL A 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 140 C 20 20 0 20 60 80 80 80 120 140 140 140 140 D 20 20 20 0 60 80 80 80 120 140 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 80 I 100 120 120 120 60 40 60 60 0 20 20 20 J 120 140 140 140 80 60 80 80 20 0 20 20 K 120 140 140 140 80 80 80 80 20 20 0 0 20 L 120 140 140 140 80 80 80 80 20 20 20 20 0
Existe-t-il une méthode permettant d'extraire des grappes M
(si nécessaire, le nombre de grappes peut être fixé), de sorte que chaque grappe contienne des nœuds distants les uns des autres. Dans l'exemple, les grappes seraient (A, B, C, D)
, (E, F, G, H)
et (I, J, K, L)
.
J'ai déjà essayé UPGMA et k
-means mais les clusters résultants sont très mauvais.
Les distances sont les étapes moyennes que prendrait un marcheur aléatoire pour aller de nœud A
à nœud B
( != A
) et revenir au nœud A
. C'est garanti c'est M^1/2
une métrique. Pour exécuter, cela k
signifie que je n'utilise pas le centre de gravité. Je définis la distance entre les n
grappes de nœuds c
comme la distance moyenne entre n
tous les nœuds de c
.
Merci beaucoup :)