Tengo una (simétrica) de la matriz M
que representa la distancia entre cada par de nodos. Por ejemplo,
A B C D E F G H I J K L Un 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 Yo 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 60 80 80 20 20 0 20 L 120 140 140 140 80 60 80 80 20 20 20 0
¿Hay algún método para extraer los clústeres de M
(si es necesario, el número de grupos puede ser fija), de tal manera que cada grupo contiene los nodos con pequeñas distancias entre ellos. En el ejemplo, los grupos serían (A, B, C, D)
, (E, F, G, H)
y (I, J, K, L)
.
Ya he probado UPGMA y k
-medio, pero el resultado de los clústeres son muy malas.
Las distancias son el promedio de pasos al azar walker iba a tomar para ir desde el nodo A
al nodo B
(!= A
) y vaya al nodo A
. Se garantiza que M^1/2
es una métrica. Para ejecutar k
-medio, yo no uso el centroide. Puedo definir la distancia entre el nodo n
clúster c
como la distancia promedio entre n
y todos los nodos en c
.
Muchas gracias :)