5 votos

La verificación de la salida de la implementación interna de la agrupación de validez de los índices de

He implementado algunos internos de la agrupación de validez de los índices en Java:

  1. Simplificado De La Silueta.
  2. Calinski-Harabasz (VRC).
  3. Davies -Bouldin.
  4. Dunn Índice.

¿Cómo puedo verificar si mi aplicación es la correcta?

He probado los índices de Iris, el Vino, la Ionosfera, el Corazón, el Sónar, el Zoo de Cristal y puntos de referencia.

Yo solía K-means el algoritmo con diferentes número de racimos de 2 a 8.

El problema es: Puedo obtener las mejores puntuaciones en las particiones con 2 grupos en la mayoría de los casos. En el Zoológico de Cristal y conjuntos de datos, en la que el número real de los grupos es de 7, sólo uno de los índices de las puntuaciones de los mejores en el caso en que k=7.

Si que es importante mencionar:

  • K-means (Trickl-Clúster de la Aplicación), los resultados son idénticos a Weka de salida (probado en el iris del conjunto de datos).
  • El cálculo de los centroides (medias de los grupos) es casi idéntica a Weka la salida.
  • El utilizar la API para realizar cálculos con Matrices es Colt (computación en la norma, las operaciones en matrices de distancias entre los centroides de los clusters...).

Qué tiene de malo?

6voto

Amadiere Puntos 5606

Etiquetas de clase no son los mismos que los clústeres.

Si miramos por ejemplo, el conjunto de datos iris, que es bastante obvio que la mejor solución será de sólo 2 grupos, no tres. La trama de la etiqueta de datos y entrevista a algunas personas en el número de grupos que ven en este conjunto de datos. Si k a tres, que a menudo obtendrás resultados como este, donde el mal es el clúster de split.

El problema es que hay un desajuste entre estas medidas (que miden algunas propiedades matemáticas) y la realidad. En realidad, las clases pueden consistir de varios gruposy clases pueden clúster de sí mismos. Sus datos sólo falta la información para mostrar con claridad la estructura que alguien anotado manualmente.

Además, el preprocesamiento es esencial. Preprocesar los datos de manera diferente, y ambos algoritmos de clustering producirá resultados sustancialmente distintos, y la puntuación se calcula también suelen ser bastante diferentes (al menos para cualquier índice que está basado en la distancia!)

Si desea comparar los resultados de la agrupación con las etiquetas de clase, es mejor utilizar una evaluación externa de la medida, en lugar de una evaluación interna de la medida.

¿Has probado el cálculo de sus medidas en la "verdadera" clusters? No me sorprendería si la mayoría de las veces, los resultados producidos por los algoritmos de agrupamiento con mejor puntuación en cada una de estas medidas!

Para la agrupación con Java que en su mayoría utilizan ELKI. Es muy rápido, y tiene un montón de algoritmos, no sólo el 3 algoritmos estándar a partir de los años 70 que todo el mundo tiene. Pero no creo que se tiene actualmente de evaluación interna (tiene unos 20 medidas para la evaluación externa). Estoy seguro de que agradecería si alguien contribuye interno de evaluación de los índices! Tal vez si usted contribuye a su código, que le ayudará a verificar la implementación. Tal vez ellos también tienen algunas de las medidas implementadas en algún lugar ya, y yo simplemente no encontrarlos.

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