Contenido de este artículo
- 0
- 0
- 0
- 0
El índice Rand es una forma de comparar la similitud de resultados entre dos métodos de agrupación diferentes.
Denominado a menudo R , el índice Rand se calcula como:
R = (a + b) / ( n C 2 )
dónde:
- a: El número de veces que un par de elementos pertenece al mismo grupo en dos métodos de agrupamiento.
- b: El número de veces que un par de elementos pertenecen a grupos de diferencias en dos métodos de agrupamiento.
- n C 2 : El número de pares desordenados en un conjunto de n elementos.
El índice Rand siempre toma un valor entre 0 y 1 donde:
- 0: indica que dos métodos de agrupación en clúster no coinciden en la agrupación de ningún par de elementos.
- 1: indica que dos métodos de agrupación concuerdan perfectamente en la agrupación de cada par de elementos.
El siguiente ejemplo ilustra cómo calcular el índice Rand entre dos métodos de agrupamiento para un conjunto de datos simple.
Ejemplo: cómo calcular el índice Rand
Supongamos que tenemos el siguiente conjunto de datos de cinco elementos:
- Conjunto de datos: {A, B, C, D, E}
Y supongamos que usamos dos métodos de agrupamiento que ubican cada elemento en los siguientes grupos:
- Clústeres del método 1: {1, 1, 1, 2, 2}
- Clústeres del método 2: {1, 1, 2, 2, 3}
Para calcular el índice Rand entre estos métodos de agrupación, primero debemos escribir cada posible par desordenado en el conjunto de datos de cinco elementos:
- Pares desordenados: {A, B}, {A, C}, {A, D}, {A, E}, {B, C}, {B, D}, {B, E}, {C, D} , {CEDE}
Hay 10 pares desordenados.
A continuación, necesitamos calcular a , que representa el número de pares desordenados que pertenecen al mismo grupo en ambos métodos de agrupamiento:
- {A, B}
En este caso, a = 1 .
A continuación, necesitamos calcular b , que representa la cantidad de pares desordenados que pertenecen a diferentes clústeres en ambos métodos de clúster:
- {A, D}, {A, E}, {B, D}, {B, E}, {C, E}
En este caso, b = 5 .
Por último, podemos calcular el índice Rand como:
- R = (a + b) / ( n C 2 )
- R = (1 + 5) / 10
- R = 6/10
El índice Rand es 0,6 .
Cómo calcular el índice Rand en R
Podemos usar la función rand.index () del paquete fossil para calcular el índice Rand entre dos métodos de agrupamiento en R:
biblioteca (fósil) #define clusters method1 <- c (1, 1, 1, 2, 2) método2 <- c (1, 1, 2, 2, 3) #calcular el índice Rand entre los métodos de agrupación rand. índice (método1, método2) [1] 0,6
El índice Rand es 0,6 . Esto coincide con el valor que calculamos a mano.
Cómo calcular el índice Rand en Python
Podemos definir la siguiente función en Python para calcular el índice Rand entre dos clústeres:
importar numpy como np desde scipy. peine de importación especial #define la función de índice Rand def rand_index (actual, pred): tp_plus_fp = comb (np. bincount (actual), 2). suma () tp_plus_fn = comb (np. bincount (pred), 2). suma () A = np. c_ [(actual, pred)] tp = sum (comb (np. bincount (A [A [:, 0] == i, 1]), 2). sum () para i en el conjunto (actual)) fp = tp_plus_fp - tp fn = tp_plus_fn - tp tn = peine (len (A), 2) - tp - fp - fn return (tp + tn) / (tp + fp + fn + tn) #calcular el índice Rand rand_index ([1, 1, 1, 2, 2], [1, 1, 2, 2, 3]) 0,6
El índice Rand resulta ser 0,6 . Esto coincide con el valor calculado en los ejemplos anteriores.
Recursos adicionales
Una introducción a la agrupación de K-medias
Una introducción a la agrupación de K-Medoides
Una introducción a la agrupación jerárquica
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: