sklearn.metrics.homogeneity_score

sklearn.metrics.homogeneity_score()

La métrica de hemogeneidad de un etiquetado de cluster que identifica una verdad fundamental.

Un resultado de análisis de conglomerados satisface la homogeneidad si todos sus conglomerados contienen sólo puntos de datos que son miembros de una sola clase.

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 no es simétrica: cambiar label_true con label_pred devolverá el completeness_score que será diferente en general.

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

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

las etiquetas clase de verdad fundamental a ser usadas como referencia

labels_predarray-like de forma (n_samples,)

etiquetas de clúster a evaluar

Devuelve
homogeneityflotante

puntaje entre 0.0 y 1.0. 1.0 significa etiquetado perfectamente homogeneo

Referencias

1

Andrew Rosenberg and Julia Hirschberg, 2007. V-Measure: A conditional entropy-based external cluster evaluation measure

Ejemplos

Las etiquetas perfectas son homogeneas:

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

El etiquetado no perfecto que divide las clases en más clusters pueden ser perfectamente homogéneo:

>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 0, 1, 2]))
1.000000
>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 1, 2, 3]))
1.000000

Los conglomerados que incluyen muestras de diferentes clases no hacen un etiquetado homogéneo:

>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 1, 0, 1]))
0.0...
>>> print("%.6f" % homogeneity_score([0, 0, 1, 1], [0, 0, 0, 0]))
0.0...

Ejemplos usando sklearn.metrics.homogeneity_score