K-medoid algoritmasının çıktısının k-ortalama algoritmasının çıktısından farklı olduğu bir örnek


11

K medoid ve k ortalamaları arasındaki farkı anlıyorum. Ama bana k medoid çıktısının k'den farklı çıktı olduğu küçük bir veri setiyle bir örnek verebilir misiniz?

Yanıtlar:


14

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) Kmeans ve Kmedoids

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:

resim açıklamasını buraya girin

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)


1
@frc, birisinin cevabının yanlış olduğunu düşünüyorsanız, düzeltmek için düzenlemeyin. Yorum bırakabilirsiniz (temsilciniz> 50 olduğunda) & / veya aşağı oy verebilirsiniz. En iyi seçeneğiniz, doğru bilgi olduğuna inandığınız şeyle kendi cevabınızı göndermektir (cf, burada ).
gung - Monica'yı eski

2
K-medoidler, kümelenmiş elemanlar ve medoid arasında keyfi olarak seçilmiş bir mesafeyi (mutlaka mutlak bir mesafe olmamalıdır) en aza indirir. Aslında yukarıda kullanılan pamyö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.
hannafrc

1
Yorum yapmak için yeterli üne sahip değilim, ancak Ilanman'ın cevabının çizimlerinde bir hata olduğunu belirtmek istedim: tüm kodu çalıştırdı, böylece veriler değiştirildi. Kodun yalnızca kümeleme bölümünü çalıştırırsanız, kümeler oldukça kararlı, PAM için bu arada k-yollarına göre daha kararlıdır.
Julien Colomb

6

Bir medoid setin bir üyesi olmak zorundadır, bir sentroid değildir.

Centroidler tipik olarak katı, sürekli nesneler bağlamında tartışılır, ancak ayrık örneklere genişletmenin, sentroidin orijinal kümenin bir üyesi olmasını gerektireceğine inanmak için hiçbir neden yoktur.


1

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.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.