Sé que hay un algoritmo de agrupación k-means y una mediana k. Uno que usa la media como el centro del grupo y el otro usa la mediana. Mi pregunta es: ¿cuándo / dónde usar cuál?
clustering
k-means
Jack Twain
fuente
fuente
Respuestas:
k-means minimiza la varianza dentro del clúster, lo que equivale a distancias euclidianas al cuadrado.
En general, la media aritmética hace esto. Lo hace no distancias Optimizar, sino desviaciones al cuadrado de la media.
k-medians minimiza las desviaciones absolutas, lo que equivale a la distancia de Manhattan.
En general, la mediana por eje debería hacer esto. Es un buen estimador de la media, si desea minimizar la suma de las desviaciones absolutas (es decir, sum_i abs (x_i-y_i)), en lugar de las cuadradas.
No es una cuestión de precisión. Es una cuestión de corrección. ;-)
Así que aquí está tu árbol de decisión:
Algunas excepciones: por lo que puedo decir, maximizar la similitud del coseno está relacionado con minimizar la distancia al cuadrado euclidiana en datos normalizados L2. Entonces, si sus datos están normalizados en L2; y normalizas tus medios cada iteración, entonces puedes usar k-means nuevamente.
fuente
Si desea hacer un análisis que no tenga en cuenta el posible efecto de los valores extremos, use k significa, pero si desea ser más preciso, use k mediana
fuente