sklearn.metrics.adjusted_mutual_info_score

sklearn.metrics.adjusted_mutual_info_score()

Información Mutua Ajustada (AMI) entre dos agrupaciones.

La Información Mutua Ajustada (AMI en inglés) es un ajuste del puntaje de Información Mutua (MI en inglés) para dar cuenta de la casualidad. Explica el hecho de que el MI es por lo general más alto para dos agrupaciones con un número mayor de conglomerados, independientemente de sí realmente hay más información compartida. Para dos agrupaciones \(U\) y \(V\), el AMI es dado como:

AMI(U, V) = [MI(U, V) - E(MI(U, V))] / [avg(H(U), H(V)) - E(MI(U, V))]

Está métrica es independiente de los valores absolutos de las etiquetas: una permutación de la clase o de los valores de las etiquetas de conglomerado no cambiará el valor de la puntuación de ninguna manera.

Esta métrica es además simétrica: si se cambia label_true por label_pred devolverá el mismo valor de puntuación. Esto puede ser útil para medir el acuerdo de dos estrategias independientes de asignación de etiquetas en el mismo conjunto de datos cuando se desconoce la verdad fundamental real.

Ten en cuenta que esta función es un orden de magnitud más lenta que otras métricas, como el Índice de Rand Ajustado.

Más información en el Manual de usuario.

Parámetros
labels_truearreglo de enteros, forma = [n_samples]

Una agrupación de los datos en subconjuntos disjuntos.

labels_predentero array-like de forma (n_samples,)

Una agrupación de los datos en subconjuntos disjuntos.

average_methodcadena, default=”arithmetic”

Cómo calcular el normalizador en el denominador. Las opciones posibles son “min”, “geometric”, “arithmetic”, y “max”.

Nuevo en la versión 0.20.

Distinto en la versión 0.22: El valor predeterminado de ``average_method``cambiado de “max” a “arithmetic”.

Devuelve
ami: flotante (límite superior en 1.0)

El AMI devuelve un valor de 1 cuando las dos particiones son idénticas (es decir, corresponden perfectamente). Las particiones aleatorias (etiquetados independientes) tienen un AMI esperado de alrededor de 0 en promedio, por lo que pueden ser negativas.

Ver también

adjusted_rand_score

Indice de Rand ajustado (ARI en ingles).

mutual_info_score

Información Mutua (no ajustada por casualidad).

Referencias

1

Vinh, Epps, and Bailey, (2010). Information Theoretic Measures for Clusterings Comparison: Variants, Properties, Normalization and Correction for Chance, JMLR

2

Entrada de Wikipedia para la Información Mutua Ajustada

Ejemplos

Los etiquetados perfectos son homogéneos y completos, por lo que tienen una puntuación de 1,0:

>>> from sklearn.metrics.cluster import adjusted_mutual_info_score
>>> adjusted_mutual_info_score([0, 0, 1, 1], [0, 0, 1, 1])
... 
1.0
>>> adjusted_mutual_info_score([0, 0, 1, 1], [1, 1, 0, 0])
... 
1.0

Si los miembros de las clases están completamente divididos en diferentes conglomerados, la asignación es totalmente in-completa, por tanto el AMI es nulo:

>>> adjusted_mutual_info_score([0, 0, 0, 0], [0, 1, 2, 3])
... 
0.0