Tengo un algoritmo de agrupación (no k-significa) con el parámetro de entrada (número de agrupaciones). Después de realizar la agrupación, me gustaría obtener una medida cuantitativa de la calidad de esta agrupación. El algoritmo de agrupamiento tiene una propiedad importante. Para si ingreso puntos de datos sin ninguna distinción significativa entre ellos a este algoritmo, como resultado obtendré un grupo que contiene puntos de datos y un grupo con 1 punto de datos. Obviamente esto no es lo que quiero. Por lo tanto, quiero calcular esta medida de calidad para estimar la razonabilidad de esta agrupación. Lo ideal sería poder comparar estas medidas para diferentes k . Así que voy a ejecutar agrupaciones en el rango de ky elige el que tenga la mejor calidad. ¿Cómo calculo esa medida de calidad?
ACTUALIZAR:
Aquí hay un ejemplo cuando es un mal agrupamiento. Digamos que hay 3 puntos en un plano que forman un triángulo equilátero. Dividir estos puntos en 2 grupos es obviamente peor que dividirlos en 1 o 3 grupos.
fuente
Respuestas:
La elección de la métrica depende más bien de lo que consideres que es el propósito de la agrupación. Personalmente, creo que la agrupación debería tratarse de identificar diferentes grupos de observaciones que fueron generados por un proceso de generación de datos diferente. Por lo tanto, probaría la calidad de una agrupación generando datos a partir de procesos de generación de datos conocidos y luego calcularía con qué frecuencia los patrones se clasifican erróneamente por la agrupación. Por supuesto, esto implicaba hacer suposiciones sobre la distribución de patrones de cada proceso de generación, pero puede usar conjuntos de datos diseñados para la clasificación supervisada.
Otros ven la agrupación como un intento de agrupar puntos con valores de atributo similares, en cuyo caso son aplicables medidas como SSE, etc. Sin embargo, encuentro que esta definición de agrupamiento es bastante insatisfactoria, ya que solo le dice algo sobre la muestra particular de datos, en lugar de algo generalizable sobre las distribuciones subyacentes. La forma en que los métodos tratan con los clústeres superpuestos es un problema particular con esta vista (para la vista del "proceso de generación de datos" no causa ningún problema real, solo se obtienen probabilidades de pertenencia al clúster).
fuente
Dado que la agrupación no está supervisada, es difícil saber a priori cuál es la mejor agrupación. Este es un tema de investigación. Gary King, un conocido científico social cuantitativo, tiene un próximo artículo sobre este tema.
fuente
Aquí tienes un par de medidas, pero hay muchas más:
SSE: suma del error cuadrado de los elementos de cada grupo.
Distancia entre grupos: suma de la distancia cuadrada entre cada centroide de grupo.
Distancia dentro del grupo para cada grupo: suma de la distancia al cuadrado desde los elementos de cada grupo hasta su centroide.
Radio máximo: la mayor distancia desde una instancia a su centroide de clúster.
Radio promedio: suma de la distancia más grande desde una instancia a su centroide de grupo dividido por el número de grupos.
fuente
Te encontraste con el área de Validación de agrupación. Mi alumno realizó la validación utilizando las técnicas descritas en:
A. Banerjee y RN Dave. Validación de clústeres utilizando la estadística de Hopkins. 2004 Conferencia Internacional IEEE sobre Sistemas Difusos IEEE Cat No04CH37542, 1: p. 149-153, 2004.
Se basa en el principio de que si un grupo es válido, los puntos de datos se distribuyen uniformemente dentro de un grupo.
Pero antes de eso, debe determinar si sus datos tienen la denominada Tendencia de agrupación, es decir, si vale la pena agrupar y el número óptimo de agrupaciones:
S. Saitta, B. Raphael e IFC Smith. Un índice de validez integral para la agrupación. Intell. Análisis de datos, 12 (6): p. 529-548, 2008.
fuente
Como otros han señalado, hay muchas medidas para agrupar la "calidad"; La mayoría de los programas minimizan la ESS. Ningún número puede decir mucho sobre el ruido en los datos, o el ruido en el método, o los mínimos mínimos: puntos bajos en Saskatchewan.
Por lo tanto, primero intente visualizar, tener una idea de un grupo dado, antes de reducirlo a "41". Luego haga 3 corridas: ¿obtiene SSE 41, 39, 43 o 41, 28, 107? ¿Cuáles son los tamaños y radios del grupo?
(Agregado :) Eche un vistazo a las gráficas de silueta y las puntuaciones de silueta, por ejemplo, en el libro de Izenman, Modern Multivariate Statistical Techniques (2008, 731p, isbn 0387781889).
fuente
La silueta se puede utilizar para evaluar los resultados de la agrupación. Lo hace comparando la distancia promedio dentro de un grupo con la distancia promedio a los puntos en el grupo más cercano.
fuente
Se podría usar un método como el que se usa en el bosque aleatorio sin supervisión.
Los algoritmos de bosque aleatorio tratan la clasificación no supervisada como un problema de dos clases, en el que se crea un conjunto de datos artificial y aleatorio completamente diferente a partir del primer conjunto de datos al eliminar la estructura de dependencia en los datos (aleatorización).
Luego, podría crear un conjunto de datos tan artificial y aleatorio, aplicar su modelo de agrupamiento y comparar su métrica de elección (por ejemplo, SSE) en sus datos verdaderos y sus datos aleatorios.
Mezclar la aleatorización, la permutación, el arranque, el embolsado y / o el alzado podría darle una medida similar a un valor P al medir la cantidad de veces que un modelo de agrupamiento dado le da un valor menor para sus datos verdaderos que sus datos aleatorios usando una métrica de elección (p. ej., SSE o predicción de error de bolsa).
Su métrica es, por lo tanto, la diferencia (probabilidad, diferencia de tamaño, ...) en cualquier métrica de elección entre datos verdaderos y aleatorios.
Iterar esto para muchos modelos le permitiría distinguir entre modelos.
Esto se puede implementar en R.
randomforest está disponible en R
fuente
Si el algoritmo de agrupamiento no es determinista, intente medir la "estabilidad" de los agrupamientos; descubra con qué frecuencia cada dos observaciones pertenecen al mismo grupo. Ese es un método generalmente interesante, útil para elegir k en el algoritmo kmeans.
fuente