18 votos

¿Qué hacer cuando no hay un punto de codo para el clustering de kmeans?

He aprendido que, al elegir un número de conglomerados, hay que buscar un punto de codo para diferentes valores de K. He trazado los valores de withinss para valores de k de 1 a 10, pero no veo un codo claro. ¿Qué se hace en un caso como éste?

Troublesome KMeans

2 votos

Existen muchos criterios de agrupación, siendo la regla del "codo SS" sólo uno y no el mejor. Pruebe con otros. También es probable que no tenga clusters en sus datos.

0 votos

@ttnphns ¿Qué es ese otro místico del que hablas? ¿Cómo es posible que no tenga clusters en mis datos? ¿Cómo puedo saberlo?

7voto

Amadiere Puntos 5606

¿Método equivocado?

Tal vez esté utilizando el algoritmo equivocado para su problema.

¿Procesamiento incorrecto?

K-means es muy sensible al preprocesamiento. Si un atributo está en una escala mucho mayor que los demás, dominará la salida. Su resultado será entonces efectivamente unidimensional

Visualizar los resultados

Hagas lo que hagas, tienes que validar tus resultados con algo más que partir de un número como el SSQ. En su lugar, considere visualización .

La visualización también puede decirle que tal vez haya un solo grupo en sus datos.

0 votos

¿Cuáles son algunas buenas opciones de visualización para los datos multidimensionales?

1 votos

Depende de sus datos. Algunos datos pueden proyectarse bien, porque tienen una dimensionalidad intrínseca mucho menor. Las series temporales se pueden proyectar fácilmente, y si tus datos son una imagen serializada, visualizarlos como imágenes En cualquier caso, la visualización depende de su datos, nunca habrá una solución única para todos.

4voto

Funkatron Puntos 757

Una forma es inspeccionar manualmente los miembros de sus clusters para un k específico para ver si las agrupaciones tienen sentido (¿son distinguibles?). Esto puede hacerse mediante tablas de contingencia y medias condicionales. Haga esto para una variedad de k y podrá determinar qué valor es el apropiado.

Una forma menos subjetiva es utilizar el valor de la silueta:

https://stackoverflow.com/questions/18285434/how-do-i-choose-k-when-using-k-means-clustering-with-silhouette-function

Esto se puede calcular con su paquete de software favorito. Desde el enlace:

Este método sólo compara la similitud intragrupo con la similitud del grupo más cercano. Si la distancia media de cualquier miembro de los datos con respecto a otros miembros del mismo cluster es mayor que la distancia media con respecto a otros miembros del cluster, entonces este valor es negativo y la agrupación no tiene éxito. Por otro lado, los valores de silhuette cercanos a 1 indican una operación de clustering exitosa. 0,5 no es una medida exacta para la agrupación.

0 votos

Glen, personalmente creo que tu respuesta es incompleta. El primer párrafo parece poco claro. ¿Qué es eso de "inspeccionar manualmente", puedes describir el procedimiento por favor? Entonces, Silhouette es "menos subjetivo" que qué ? ¿Y por qué?

0 votos

Respuesta de @ttnphns actualizada.

0 votos

contingency tables and conditional means Esto es más místico. ¿Qué debo hacer con ellos para llegar "subjetivamente" a un buen k?

0voto

  • La ausencia de codo para K-means no significa que no haya clusters en los datos;
  • Ningún codo significa que el algoritmo utilizado no puede separar los clusters; (piense en K-means para círculos concéntricos, frente a DBSCAN)

En general, puede considerar:

  • afinar su algoritmo;
  • utilizar otro algoritmo;
  • hacer el preprocesamiento de datos.

-1voto

marmor Puntos 118

Podemos utilizar el paquete NbClust para encontrar el valor más óptimo de k. Proporciona 30 índices para determinar el número de clusters y propone el mejor resultado.

NbClust(data=df, distance ="euclidean", min.nc=2, max.nc=15, method ="kmeans", index="all")

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