6 votos

La medición de k-means clustering de la calidad en la formación de conjuntos de pruebas y

Estoy trabajando en la aplicación de streaming de k-means en Mahout. El código se realiza en su mayoría y estamos hablando acerca de cómo integrar el código.

Como parte de la calidad de las evaluaciones, quiero saber cómo la agrupación realiza en los 20 grupos de noticias conjunto de datos.

Inicialmente, la he descargado, convertidos todos los e-mails en vectores, corrió la agrupación y tengo algunas mediciones. He recopilado:

  • la distancia de cada punto en un clúster de su centro como: los cuartiles, la media, la desviación estándar;
  • el número de puntos en cada grupo;
  • el id de clúster;
  • el tipo de algoritmo de ser probado;
  • el experimento de ejecución (me encontré cada algoritmo varias veces para obtener una media, por lo que la JVM tiene tiempo para calentar y JIT compilar todo lo que pueden).

El algoritmo es aquí.

Hice esto con todos los datos de los 20 grupos de noticias conjunto. Sin embargo, me han pedido que vuelva a ejecutar el experimento teniendo en cuenta la formación y prueba de split disponible en una versión diferente del mismo conjunto de datos.

Aquí es donde mi pregunta viene en:

Yo sé que tengo que llegar a los grupos en el conjunto de entrenamiento. Pero después de los racimos, ¿cómo puedo usar el conjunto de pruebas?

Puedo asignar a cada punto del clúster que es la más cercana a ella, pero en realidad, el 20 agrupaciones puedo conseguir son muy buenos para la reflexión de los 20 originales de los grupos de noticias.

El uso de TF-IDF de codificación, y al azar de las proyecciones a 100 dimensiones (a partir de los 90K+ dimensiones originales), las clases se mezclan en los nuevos grupos. Sin embargo, los grupos que recibo son más compactos que los racimos producidos por el grupo de noticias de los clusters.

Así que, básicamente:

  1. No creo que las clases en el conjunto de pruebas son útiles en todo (esto no es un problema de clasificación).
  2. Pero sin las clases, cómo es la separación en la formación de conjuntos de pruebas y aún significativa?
  3. Puedo asignar los puntos a grupos, pero sin reajuste de los centros, lo que voy a medir?
  4. Si hago reajustar los centros, ¿por qué molestarse con conjuntos de pruebas y entrenamiento a todos?

Editar (contexto): estoy trabajando en la implementación de un más rápido algoritmo de clustering que se comporta como k-means en la parte superior de MapReduce. Utiliza el streaming de k-means para obtener un esbozo de los datos y, a continuación, recoge los bocetos y se aplica de la bola k-means.

Me pidió que usara el 20 grupos de noticias conjunto de datos y quiero comparar la calidad de los grupos I get mediante el nuevo algoritmo con los métodos existentes.

@Anony-Mousse mencionó que esto podría no ser la mejor opción (creo que eso es cierto). Pero dado que este conjunto de datos, necesito comparar su salida de las características de la muestra con sus características de la muestra–, pero no sé lo que debe ser!.

En pocas palabras, lo que hacen que incluso el uso de la prueba?

5voto

Amadiere Puntos 5606

El problema, en particular con k-means aplicado en el mundo real, con la etiqueta de datos es que los clusters no suele estar de acuerdo con sus etiquetas muy bien, salvo que genera las etiquetas mediante el uso de una similar en el algoritmo de agrupamiento (profecía autocumplida), o el conjunto de datos es muy simple.

Han intentado calcular la k-means-estadísticas tales como las sumas de cuadrados etc. en el conjunto de datos original? Yo no estaría en absoluto sorprendido si son sustancialmente peor que después de la ejecución de k-means.

Me imagino que es sólo otro caso de que el algoritmo no se ajusta a su problema.

La evaluación de algoritmos de clustering es realmente duro. Porque usted realmente quiere encontrar algo para lo que no sabemos todavía. Incluso si la agrupación sería reproducir el original de la etiqueta, a continuación, en realidad no, porque no decir algo nuevo y, a continuación, sólo podría haber utilizado las etiquetas en su lugar.

Tal vez la más realista de la evaluación de un algoritmo de clustering es la siguiente: si usted incorpora el resultado del algoritmo de agrupación en clústeres en un algoritmo de clasificación, ¿mejora la precisión de la clasificación de manera significativa? I. e. el tratamiento de la agrupación como una de preprocesamiento/funcionalidad de soporte para un algoritmo que puede evaluar razonablemente.

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