Yanıtlar:
k-medoid, kare mesafesini en aza indirmek yerine, noktalar ve seçilen sentroid arasındaki mutlak mesafeyi en aza indirerek hesaplanan medoidlere (veri kümesine ait bir noktadır) dayanır. Sonuç olarak, gürültü ve uç değerlere karşı k-araçlarından daha sağlamdır.
İşte 2 küme ile basit, şık bir örnek (ters renkleri göz ardı edin)
Gördüğünüz gibi, medoidler ve sentroidler (k-araçlarının) her grupta biraz farklıdır. Ayrıca, bu algoritmaları her çalıştırdığınızda, rastgele başlangıç noktaları ve minimizasyon algoritmasının doğası nedeniyle, biraz farklı sonuçlar alacağınızı unutmayın. İşte başka bir çalışma:
Ve işte kod:
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
yöntem (R'de K-medoidlerin örnek uygulaması) varsayılan olarak Öklid mesafesini bir metrik olarak kullanır. K-araçları daima kare Öklid kullanır. K-medoidlerindeki medoidler, K-ortalamalarında sentroid olarak bütün nokta boşluğundan değil, küme elemanlarından seçilir.
Hem k-ortalamaları hem de k-medoid algoritmaları veri kümesini k gruplarına ayırmaktadır. Ayrıca, ikisi de aynı kümenin noktaları ile o kümenin merkezi olan belirli bir nokta arasındaki mesafeyi en aza indirmeye çalışıyorlar. K-ortalama algoritmasının aksine, k-medoid algoritması noktaları veri kümesine ait olan merkezler olarak seçer. K-medoid kümeleme algoritmasının en yaygın uygulaması Medoidlerin Çevresinde Bölümleme (PAM) algoritmasıdır. PAM algoritması, küresel optimum çözümü bulamayabilecek açgözlü bir arama kullanır. Medoidler uç değerlere karşı sentroidlerden daha sağlamdır, ancak yüksek boyutlu veriler için daha fazla hesaplamaya ihtiyaç duyarlar.