2 votos

Evaluación del resultado de k-means para >3D

Estoy implementando el algoritmo k-means (en R Map-Reduce) y quería verificar si la salida que estoy obteniendo se acerca lo suficiente a los verdaderos centroides del cluster. Así es como estoy verificando con un conjunto de datos 2D actualmente: Trazo tanto el conjunto de datos como los centroides que tengo como salida y veo si los centroides están cerca del centro de los clusters visualmente. Creo que también puedo hacerlo con datos en 3D. Pero no sé cómo verificar esto con datos de mayor dimensión que no pueden ser trazados.

Parece realmente estúpido trazar los datos y verificarlos visualmente cada vez, ¿verdad? Así que déjame decirte por qué estoy haciendo esto:

Los centroides no vienen en un orden determinado. El primer centroide en este ensayo puede estar en la segunda posición en el siguiente, así que no puedo encontrar la distancia entre la matriz de mi salida y la matriz de, digamos, la salida por defecto de R de kmeans (si estoy verificando mi salida con la de R kmeans ). Ordenar con respecto a cualquier dimensión para comparar suena estúpido, ya que cualquier dimensión puede ser mucho más sensible a los datos cuando se compara con otra.

Así que, por ahora, estoy verificando los datos 2D visualmente. ¿Tengo que utilizar la reducción de la dimensionalidad? ¿Alguien tiene ideas sobre cómo puedo verificar datos de mayor dimensión?

2voto

Peter Puntos 658

Se puede dar a los clusters inducidos algún etiquetado arbitrario (como A, B, C) y dar a los clusters verdaderos un etiquetado (digamos 1, 2, 3). Y trazar la "clasificación" en una matriz de confusión. Obtendrás algo así $$ \left( \begin{array}{c|ccc} & A & B & C \\ \hline 1 & 0.01 & 0.2 & 0.79 \\ 2 & 1 & 0 & 0 \\ 3 & 0.08 & 0.92 & 0 \end{array} \right)$$ Si el algoritmo de agrupación funciona bien, no obtendrá valores altos en la diagonal, pero verá una forma obvia de reetiquetar para poner los valores altos en la diagonal.

Si esto no es suficiente indicación por sí mismo, puede utilizar una medida basada en la matriz de confusión (error simétrico, precisión/recuperación) y simplemente utilizar el reetiquetado que optimice ese valor. Si el algoritmo funciona bien, entonces el reetiquetado óptimo es obvio de todos modos, y si no lo hace, entonces tomar el reetiquetado óptimo no ayudará al rendimiento.

El análisis de clústeres La página de la wikipedia tiene otros métodos para evaluar una agrupación con respecto a un estándar de oro, pero creo que éste es el que mejor se ajusta a su caso de uso.

1voto

Amadiere Puntos 5606

¿Qué tal si calculamos las distancias entre los significa en un resultado y las medias del otro resultado, en comparación con la varianza total?

Pero tenga en cuenta que la ejecución de k-means en R con diferentes semillas aleatorias / medias iniciales dará diferentes resultados en datos no triviales.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X