sklearn.metrics
.fowlkes_mallows_score¶
- sklearn.metrics.fowlkes_mallows_score()¶
Mide la similitud de dos agrupaciones de un conjunto de puntos.
Nuevo en la versión 0.18.
El índice Fowlkes-Mallows (FMI) se define como la media geométrica entre la precisión y la exhaustividad:
FMI = TP / sqrt((TP + FP) * (TP + FN))
Donde
TP
es el número de Verdaderos Positivos (es decir, el número de pares de puntos que pertenecen a los mismos conglomerados tanto enlabels_true
como enlabels_pred
),FP
es el número de Falsos Positivos (es decir, el número de pares de puntos que pertenecen a los mismos conglomerados enlabels_true
y no enlabels_pred
) yFN
es el número de Falsos Negativos (es decir, el número de puntos que pertenecen a los mismos conglomerados enlabels_pred
y no enlabels_True
).La puntuación oscila entre 0 y 1. Un valor alto indica una buena similitud entre dos conglomerados.
Lee más en el Manual de usuario.
- Parámetros
- labels_true : arreglo entero, forma = (
n_samples
,)arreglo entero, forma = ( Una agrupación de los datos en subconjuntos disjuntos.
- labels_pred : arreglo, forma = (
n_samples
, )arreglo, forma = ( Una agrupación de los datos en subconjuntos disjuntos.
- sparsebooleano, default=False
Calcula la matriz de contingencia internamente con la matriz dispersa.
- labels_true : arreglo entero, forma = (
- Devuelve
- scoreflotante
El puntaje Fowlkes-Mallows resultante.
Referencias
- 1
- 2
Ejemplos
Los etiquetados perfectos son homogéneos y completos, por lo que tienen una puntuación de 1,0:
>>> from sklearn.metrics.cluster import fowlkes_mallows_score >>> fowlkes_mallows_score([0, 0, 1, 1], [0, 0, 1, 1]) 1.0 >>> fowlkes_mallows_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 aleatoria, por tanto el FMI es nulo:
>>> fowlkes_mallows_score([0, 0, 0, 0], [0, 1, 2, 3]) 0.0