Saya mengerti perbedaan antara k medoid dan k berarti. Tapi bisakah Anda memberi saya contoh dengan set data kecil di mana output medoid k berbeda dari output k means.
11
k-medoid didasarkan pada medoid (yang merupakan titik yang termasuk dalam dataset) yang menghitung dengan meminimalkan jarak absolut antara titik dan centroid yang dipilih, daripada meminimalkan jarak kuadrat. Akibatnya, lebih kuat untuk noise dan outlier daripada k-means.
Berikut adalah contoh sederhana dan dibikin dengan 2 kelompok (abaikan warna yang dibalik)
Seperti yang Anda lihat, medoid dan centroid (k-means) sedikit berbeda di setiap kelompok. Anda juga harus mencatat bahwa setiap kali Anda menjalankan algoritma ini, karena titik awal acak dan sifat algoritma minimisasi, Anda akan mendapatkan hasil yang sedikit berbeda. Ini adalah langkah lain:
Dan ini kodenya:
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
metode (contoh implementasi K-medoid di R) yang digunakan di atas, secara default menggunakan jarak Euclidean sebagai metrik. K-means selalu menggunakan Euclidean kuadrat. Medoid dalam K-medoid dipilih dari elemen cluster, bukan dari ruang poin keseluruhan sebagai centroid dalam K-means.Seorang medoid harus menjadi anggota set, sebuah centroid tidak.
Centroid biasanya dibahas dalam konteks benda padat dan kontinu, tetapi tidak ada alasan untuk percaya bahwa ekstensi ke sampel diskrit akan membutuhkan centroid untuk menjadi anggota himpunan asli.
sumber
Algoritma k-means dan k-medoids memecah dataset menjadi kelompok k. Juga, mereka berdua mencoba untuk meminimalkan jarak antara titik-titik dari cluster yang sama dan titik tertentu yang merupakan pusat dari cluster itu. Berbeda dengan algoritma k-means, algoritma k-medoid memilih poin sebagai pusat yang dimiliki dastaset. Implementasi paling umum dari algoritma klaster k-medoid adalah algoritma Partitioning Around Medoids (PAM). Algoritma PAM menggunakan pencarian serakah yang mungkin tidak menemukan solusi optimal global. Medoid lebih kuat untuk pencilan daripada centroid, tetapi mereka membutuhkan lebih banyak perhitungan untuk data dimensi tinggi.
sumber