Calculadora del coeficiente de silueta
Introduce los puntos y el clúster al que pertenece cada uno, por ejemplo la salida de k-means o de cualquier otro algoritmo de clustering. La calculadora obtiene la silueta de cada punto, la media de cada clúster y el coeficiente de silueta global, que indica lo bien separados que están los clústeres.
Funciona en tu navegador: nada de lo que escribes se envía a ningún sitio.
Cómo se usa
- Escribe los puntos: las coordenadas de cada punto separadas por espacios y los puntos separados por punto y coma. Puede haber cualquier número de dimensiones, pero la misma en todos; los decimales van con coma: 1,5 2.
- Escribe una etiqueta de clúster por punto, en el mismo orden: letras, números o palabras.
- Lee el coeficiente de silueta, su interpretación, la media de cada clúster y los valores de los 20 primeros puntos.
Cómo funciona
Para cada punto i, con distancia euclídea:
- a(i) = distancia media de i a los demás puntos de su clúster;
- b(i) = para cada otro clúster, la distancia media de i a sus puntos; se toma la menor;
- s(i) = (b(i) − a(i)) ÷ max(a(i), b(i)), y s(i) = 0 si i está solo en su clúster.
El coeficiente de silueta es la media de s(i) en todos los puntos, como lo calcula silhouette_score de scikit-learn.
Ejemplo
Seis puntos en dos grupos: A = (1, 2), (2, 1), (2, 3) y B = (8, 8), (9, 7), (9, 9).
Para el punto (1, 2):
- a = distancia media a (2, 1) y (2, 3) = (√2 + √2) ÷ 2 = 1,4142;
- b = distancia media al clúster B = (√85 + √89 + √113) ÷ 3 = 9,7612;
- s = (9,7612 − 1,4142) ÷ 9,7612 = 0,8551.
Haciendo lo mismo con todos los puntos salen las medias A: 0,8249; B: 0,8262, y un coeficiente de silueta de 0,8256: una estructura fuerte.
Consejos
- Escala antes las variables. Las distancias mezclan todas las coordenadas, y una variable en miles tapa a otra en fracciones.
- La silueta favorece clústeres redondos y parejos. Para formas alargadas o anidadas, como las que encuentra DBSCAN, una silueta baja no siempre significa un mal clustering.
- Para comparar dos puntos directamente, usa la calculadora de distancia Manhattan y euclídea.
Preguntas frecuentes
¿Qué es el coeficiente de silueta?
Una medida de lo bien que encaja cada punto en su clúster frente al clúster vecino más cercano, de −1 a 1. Para un punto, a es la distancia media a los demás puntos de su clúster y b la menor distancia media a los puntos de otro clúster; su silueta es (b − a) ÷ max(a, b). El coeficiente de un clustering es la media de todos los puntos.
¿Qué valor de silueta es bueno?
Cerca de 1 indica clústeres compactos y bien separados; cerca de 0, clústeres que se tocan o solapan; los valores negativos, puntos más cercanos a otro clúster que al suyo. Kaufman y Rousseeuw propusieron considerar más de 0,70 una estructura fuerte, 0,51–0,70 razonable, 0,26–0,50 débil y 0,25 o menos sin estructura sustancial.
¿Cómo se usa para elegir k en k-means?
Ejecuta el clustering para varios valores de k, calcula el coeficiente de silueta de cada uno y quédate con el k de mayor valor; después revisa las medias por clúster, porque un clúster malo puede esconderse detrás de una buena media.
¿Qué pasa con un clúster de un solo punto?
Su punto recibe una silueta de 0, como la define Rousseeuw y como hace scikit-learn, porque a no está definido para él. Además, hacen falta al menos 2 clústeres y menos clústeres que puntos.