एक उदाहरण जहां k-medoid एल्गोरिदम का आउटपुट k-mean एल्गोरिथ्म के आउटपुट से अलग है


11

मैं के मेडोइड और के साधनों के बीच अंतर को समझता हूं। लेकिन क्या आप मुझे एक छोटे से डेटा सेट के साथ एक उदाहरण दे सकते हैं जहां k मेडॉइड आउटपुट k का मतलब आउटपुट से अलग है।

जवाबों:


14

के-मेडॉइड मेडोइड्स (जो एक बिंदु है जो कि डेटासेट के अंतर्गत आता है) पर आधारित है, जो वर्ग दूरी को कम करने के बजाय अंक और चयनित सेंट्रोइड के बीच पूर्ण दूरी को कम करके गणना करता है। नतीजतन, यह 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)


1
@ एफआरसी, अगर आपको लगता है कि किसी का जवाब गलत है, तो उसे ठीक करने के लिए उसे संपादित न करें। आप एक टिप्पणी छोड़ सकते हैं (एक बार जब आपका प्रतिनिधि> 50 है), और / या डाउनवोट। आपका सबसे अच्छा विकल्प यह है कि आप अपनी खुद की उत्तर w / पोस्ट करें जिसे आप सही जानकारी मानते हैं (cf, here )।
गंग - मोनिका

2
K-medoids गुच्छित तत्वों और मीडॉयड के बीच एक मनमाने ढंग से चुनी गई दूरी (जरूरी नहीं कि एक निरपेक्ष दूरी) को कम करता है। वास्तव में pamविधि (आर में के-मेडोइड्स का एक उदाहरण कार्यान्वयन) उपर्युक्त रूप से, यूक्लिडियन दूरी का उपयोग मीट्रिक के रूप में करता है। K- साधन हमेशा वर्ग यूक्लिडियन का उपयोग करता है। K- मेडोइड्स में मेडोइड्स क्लस्टर तत्वों से बाहर चुने गए हैं, न कि K- साधनों में सेंट्रोइड्स के रूप में एक पूरे पॉइंट स्पेस से बाहर।
हन्नाकैनक

1
मेरे पास टिप्पणी करने के लिए पर्याप्त प्रतिष्ठा नहीं है, लेकिन यह उल्लेख करना चाहता था कि इलानमैन के जवाब के भूखंडों में एक गलती है: उन्होंने पूरे कोड को चलाया, जैसे कि डेटा को संशोधित किया गया था। यदि आप कोड का केवल क्लस्टरिंग भाग चलाते हैं, तो क्लस्टर, PAM के लिए K- साधनों की तुलना में अधिक स्थिर होते हैं।
जूलियन

6

एक मेडोइड को सेट का सदस्य होना चाहिए, एक सेंट्रोइड नहीं होता है।

सेंट्रोइड्स को आमतौर पर ठोस, निरंतर वस्तुओं के संदर्भ में चर्चा की जाती है, लेकिन यह मानने का कोई कारण नहीं है कि नमूनों को असतत करने के लिए विस्तार से सेंट्रो को मूल सेट का सदस्य बनाने की आवश्यकता होगी।


1

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.