Comprendo la differenza tra k medoid e k significa. Ma puoi darmi un esempio con un piccolo set di dati in cui l'output k medoid è diverso da k significa output.
Comprendo la differenza tra k medoid e k significa. Ma puoi darmi un esempio con un piccolo set di dati in cui l'output k medoid è diverso da k significa output.
Risposte:
k-medoid si basa sui medoidi (che è un punto che appartiene al set di dati) calcolando minimizzando la distanza assoluta tra i punti e il centroide selezionato, piuttosto che minimizzare la distanza quadrata. Di conseguenza, è più resistente al rumore e ai valori anomali rispetto ai k-media.
Ecco un semplice esempio inventato con 2 cluster (ignora i colori invertiti)
Come puoi vedere, i medoidi e i centroidi (di k-medie) sono leggermente diversi in ciascun gruppo. Inoltre, dovresti notare che ogni volta che esegui questi algoritmi, a causa dei punti di partenza casuali e della natura dell'algoritmo di minimizzazione, otterrai risultati leggermente diversi. Ecco un'altra corsa:
Ed ecco il codice:
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
metodo (un'implementazione esemplificativa di K-medoidi in R) usato sopra, di default usa la distanza euclidea come metrica. K-mean usa sempre il quadrato euclideo. I medoidi in K-medoid sono scelti tra gli elementi del cluster, non in uno spazio di punti interi come centroidi in K-medie.
Entrambi gli algoritmi k-mean e k-medoids stanno suddividendo il set di dati in k gruppi. Inoltre, stanno entrambi cercando di ridurre al minimo la distanza tra i punti dello stesso cluster e un punto particolare che è il centro di quel cluster. Contrariamente all'algoritmo k-mean, l'algoritmo k-medoids sceglie i punti come centri che appartengono al dastaset. L'implementazione più comune dell'algoritmo di clustering k-medoids è l'algoritmo Partitioning Around Medoids (PAM). L'algoritmo PAM utilizza una ricerca avida che potrebbe non trovare la soluzione ottimale globale. I medoidi sono più robusti dei valori anomali rispetto ai centroidi, ma hanno bisogno di più calcoli per dati ad alta dimensione.