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:
- No creo que las clases en el conjunto de pruebas son útiles en todo (esto no es un problema de clasificación).
- Pero sin las clases, cómo es la separación en la formación de conjuntos de pruebas y aún significativa?
- Puedo asignar los puntos a grupos, pero sin reajuste de los centros, lo que voy a medir?
- 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?