sklearn.metrics.silhouette_score

sklearn.metrics.silhouette_score()

Calcula el Coeficiente de Silueta medio de todas las muestras.

El Coeficiente de Silueta se calcula utilizando la distancia media dentro del conglomerado (a) y la distancia media entre conglomerados más cercanos (b) para cada muestra. El Coeficiente de Silueta de una muestra es (b - a) / max(a, b). Para aclarar, b es la distancia entre una muestra y el conglomerado más cercano que no forma parte la muestra. Ten en cuenta que el Coeficiente de Silueta sólo se define si el número de etiquetas es 2 <= n_labels <= n_samples - 1.

Esta función devuelve el Coeficiente de Silueta medio sobre todas las muestras. Para obtener los valores de cada muestra, utiliza silhouette_samples.

El mejor valor es 1 y el peor es -1. Los valores cercanos a 0 indican conglomerados superpuestos. Los valores negativos suelen indicar que una muestra ha sido asignada al conglomerado equivocado, ya que otro conglomerado es más similar.

Lee más en el Manual de usuario.

Parámetros
Xarray-like de forma (n_samples_a, n_samples_a) si metric == «precomputed» o (n_samples_a, n_features) en caso contrario

Un arreglo de distancias entre pares de muestras, o un arreglo de características.

labelsarray-like de forma (n_samples,)

Etiquetas predichas para cada muestra.

metriccadena o invocable, default=”euclidean”

La métrica a utilizar cuando se calcula la distancia entre instancias en un arreglo de características. Si la métrica es una cadena, debe ser una de las opciones permitidas por metrics.pairwise.pairwise_distances. Si X es el propio arreglo de distancias, utiliza metric="precomputed".

sample_sizeint, default=None

El tamaño de la muestra que se utilizará para calcular el Coeficiente de Silueta en un subconjunto aleatorio de los datos. Si sample_size is None, no se utiliza el muestreo.

random_stateentero, instancia de RandomState o None, default=None

Determina la generación de números aleatorios para seleccionar un subconjunto de muestras. Se utiliza cuando sample_size is not None. Pasa un número entero (int) para obtener resultados reproducibles en varias invocaciones a la función. Ver Glosario.

**kwdsoptional keyword parameters

Cualquier parámetro adicional se pasa directamente a la función de distancia. Si utilizas una métrica scipy.spatial.distance, los parámetros siguen siendo dependientes de la métrica. Consulta los documentos scipy para ver ejemplos de uso.

Devuelve
silhouettefloat

Coeficiente de Silueta medio para todas las muestras.

Referencias

1

Peter J. Rousseeuw (1987). «Silhouettes: a Graphical Aid to the Interpretation and Validation of Cluster Analysis». Computational and Applied Mathematics 20: 53-65.

2

Entrada de Wikipedia en el Coeficiente de Silhouette

Ejemplos utilizando sklearn.metrics.silhouette_score