Réponses:
k-medoid est basé sur des médoïdes (qui est un point appartenant à l'ensemble de données) calculant en minimisant la distance absolue entre les points et le centroïde sélectionné, plutôt que de minimiser la distance carrée. En conséquence, il est plus résistant au bruit et aux valeurs aberrantes que les k-means.
Voici un exemple simple et artificiel avec 2 clusters (ignorez les couleurs inversées)
Comme vous pouvez le voir, les médoïdes et centroïdes (des k-moyennes) sont légèrement différents dans chaque groupe. Vous devez également noter que chaque fois que vous exécutez ces algorithmes, en raison des points de départ aléatoires et de la nature de l'algorithme de minimisation, vous obtiendrez des résultats légèrement différents. Voici une autre course:
Et voici le code:
library(cluster)
x <- rbind(matrix(rnorm(100, mean = 0.5, sd = 4.5), ncol = 2),
matrix(rnorm(100, mean = 0.5, sd = 0.1), ncol = 2))
colnames(x) <- c("x", "y")
# using 2 clusters because we know the data comes from two groups
cl <- kmeans(x, 2)
kclus <- pam(x,2)
par(mfrow=c(1,2))
plot(x, col = kclus$clustering, main="Kmedoids Cluster")
points(kclus$medoids, col = 1:3, pch = 10, cex = 4)
plot(x, col = cl$cluster, main="Kmeans Cluster")
points(cl$centers, col = 1:3, pch = 10, cex = 4)
pam
méthode (un exemple d'implémentation de K-medoids dans R) utilisée ci-dessus, utilise par défaut la distance euclidienne comme métrique. K-means utilise toujours le carré euclidien. Les médoïdes dans les K-médoïdes sont choisis parmi les éléments de la grappe, et non dans un espace entier de points comme centroïdes dans les K-moyennes.
Un médoïde doit être membre de l'ensemble, pas un centroïde.
Les centroïdes sont généralement discutés dans le contexte d'objets solides et continus, mais il n'y a aucune raison de croire que l'extension à des échantillons discrets exigerait que le centroïde soit membre de l'ensemble d'origine.
Les algorithmes k-means et k-medoids divisent l'ensemble de données en k groupes. En outre, ils essaient tous les deux de minimiser la distance entre les points du même cluster et un point particulier qui est le centre de ce cluster. Contrairement à l'algorithme k-means, l'algorithme k-medoids choisit les points comme centres appartenant au jeu de données. L'implémentation la plus courante de l'algorithme de clustering k-medoids est l'algorithme Partitioning Around Medoids (PAM). L'algorithme PAM utilise une recherche gourmande qui peut ne pas trouver la solution optimale globale. Les médoïdes sont plus robustes aux valeurs aberrantes que les centroïdes, mais ils ont besoin de plus de calcul pour les données de haute dimension.