Jawaban:
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.
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.