जवाबों:
के-मेडॉइड मेडोइड्स (जो एक बिंदु है जो कि डेटासेट के अंतर्गत आता है) पर आधारित है, जो वर्ग दूरी को कम करने के बजाय अंक और चयनित सेंट्रोइड के बीच पूर्ण दूरी को कम करके गणना करता है। नतीजतन, यह k- साधनों की तुलना में शोर और बाह्य उपकरणों के लिए अधिक मजबूत है।
यहाँ 2 समूहों के साथ एक सरल, आकस्मिक उदाहरण है (उल्टे रंगों को अनदेखा करें)
जैसा कि आप देख सकते हैं, प्रत्येक समूह में मेडोइड्स और सेंट्रोइड्स (के-मीन्स) थोड़े अलग हैं। इसके अलावा, आपको ध्यान देना चाहिए कि हर बार जब आप इन एल्गोरिदम को चलाते हैं, तो यादृच्छिक शुरुआती बिंदु और कम से कम एल्गोरिथम की प्रकृति के कारण, आपको थोड़े अलग परिणाम मिलेंगे। यहाँ एक और रन है:
और यहाँ कोड है:
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
विधि (आर में के-मेडोइड्स का एक उदाहरण कार्यान्वयन) उपर्युक्त रूप से, यूक्लिडियन दूरी का उपयोग मीट्रिक के रूप में करता है। K- साधन हमेशा वर्ग यूक्लिडियन का उपयोग करता है। K- मेडोइड्स में मेडोइड्स क्लस्टर तत्वों से बाहर चुने गए हैं, न कि K- साधनों में सेंट्रोइड्स के रूप में एक पूरे पॉइंट स्पेस से बाहर।
के-मीन्स और के-मेडॉइड एल्गोरिदम दोनों ही के समूहों में डेटासेट को तोड़ रहे हैं। इसके अलावा, वे दोनों एक ही क्लस्टर के बिंदुओं और एक विशेष बिंदु के बीच की दूरी को कम करने की कोशिश कर रहे हैं जो उस क्लस्टर का केंद्र है। K- साधन एल्गोरिथम के विपरीत, k-medoids कलन विधि केंद्र के रूप में बिंदुओं को चुनती है जो दास्तानसेट से संबंधित हैं। K-medoids क्लस्टरिंग एल्गोरिथ्म का सबसे आम कार्यान्वयन पार्टॉइडिंग अराउंड मेडॉइड्स (PAM) एल्गोरिदम है। पीएएम एल्गोरिथ्म एक लालची खोज का उपयोग करता है जो वैश्विक इष्टतम समाधान नहीं खोज सकता है। मेडोइड्स सेंट्रोइड्स की तुलना में आउटलेर्स के लिए अधिक मजबूत होते हैं, लेकिन उन्हें उच्च आयामी डेटा के लिए अधिक गणना की आवश्यकता होती है।