Je sais qu'il y a un algorithme de clustering k-means et une k-médiane. L'un qui utilise la moyenne comme centre de la grappe et l'autre utilise la médiane. Ma question est: quand / où utiliser quoi?
Je sais qu'il y a un algorithme de clustering k-means et une k-médiane. L'un qui utilise la moyenne comme centre de la grappe et l'autre utilise la médiane. Ma question est: quand / où utiliser quoi?
Réponses:
k-means minimise la variance intra-cluster, ce qui équivaut à des distances euclidiennes au carré.
En général, la moyenne arithmétique fait cela. Il n'optimise pas les distances, mais les écarts au carré de la moyenne.
Les médianes k minimisent les écarts absolus, ce qui équivaut à la distance de Manhattan.
En général, la médiane par axe devrait le faire. C'est un bon estimateur de la moyenne, si vous voulez minimiser la somme des écarts absolus (c'est-à-dire sum_i abs (x_i-y_i)), au lieu des carrés.
Ce n'est pas une question d'exactitude. C'est une question de justesse. ;-)
Voici donc votre arbre de décision:
Quelques exceptions: pour autant que je sache, maximiser la similitude du cosinus est lié à la minimisation de la distance euclidienne au carré sur les données normalisées L2. Donc, si vos données sont normalisées L2; et vous l2-normalisez vos moyennes à chaque itération, vous pouvez alors réutiliser k-means.
Si vous voulez faire une analyse sans tenir compte de l'effet possible des valeurs extrêmes, utilisez k moyennes mais si vous voulez être plus précis, utilisez k médiane