Quiero hablar sobre la suposición, los contras y los pros de Kmean para dar una idea completa.
suposición:
1) asumir un tamaño de clúster equilibrado dentro del conjunto de datos;
- Cómo habilitar la compresión gzip
- ¿Cómo podemos encontrar la aparición de una cadena dada (la secuencia no importa) en una secuencia dada en Java?
- ¿Hay diferentes algoritmos para diferentes lenguajes de programación?
- ¿Qué es un contador Loglog?
- ¿Prefieres que tu sistema de navegación sea optimista o pesimista? (ver nota / comentario)
2) suponga que la distribución conjunta de características dentro de cada grupo es esférica: esto significa que las características dentro de un grupo tienen la misma varianza, y también las características son independientes entre sí;
3) los grupos tienen una densidad similar;
contras:
1) efecto uniforme: a menudo producen grupos con un tamaño relativamente uniforme, incluso si los datos de entrada tienen un tamaño de grupo diferente;
2) suposición esférica difícil de cumplir: la correlación entre las características la rompe, pondría pesos adicionales en las características correlacionadas (debería tomar medidas dependiendo de los problemas); no puede encontrar grupos no convexos o grupos con formas inusuales;
3) diferentes densidades: puede funcionar mal con grupos con diferentes densidades pero de forma esférica;
4) Valor de K no conocido: ¿cómo resolver K? 1) para un rango pequeño de valor K, digamos 2-10, para cada valor K ejecutado muchas veces (20-100 veces), tome el resultado de agrupamiento con el valor J más bajo entre todos los valores K; 2) usando el método Elbow para decidir el valor K; 3) BPA; 4) decidir los flujos descendentes de K: decidir por los propósitos / objetivos de los proyectos
5) sensible a los valores atípicos;
6) sensible a los puntos iniciales y óptimo local, y no existe una solución única para un determinado valor de K: por lo tanto, ejecute K media para un valor de K muchas veces (20-100 veces), luego elija los resultados con J más bajo;
pros:
1) prácticamente funcionan bien, incluso algunos supuestos se rompen;
2) simple, fácil de implementar;
3) fácil de interpretar los resultados de agrupamiento;
4) rápido y eficiente en términos de costo computacional, típicamente O (K * n * d);