यह कैसे बताएं कि सार्थक परिणामों के लिए क्लस्टरिंग एल्गोरिदम के लिए डेटा "क्लस्टर" पर्याप्त है या नहीं?


78

आपको कैसे पता चलेगा कि आपका (उच्च आयामी) डेटा पर्याप्त क्लस्टरिंग प्रदर्शित करता है ताकि किमी या अन्य क्लस्टरिंग एल्गोरिदम से परिणाम वास्तव में सार्थक हो?

विशेष रूप से k- साधन एल्गोरिथ्म के लिए, वास्तविक क्लस्टरिंग परिणाम सार्थक होने के लिए (और नहीं) के लिए भीतर क्लस्टर संस्करण में कितनी कमी होनी चाहिए?

जब डेटा का एक मंद-रूप से कम रूप में प्लॉट किया जाता है, तो क्लस्टरिंग स्पष्ट होना चाहिए, और किमीमीटर (या अन्य तरीकों) से परिणाम अर्थहीन हैं यदि क्लस्टरिंग की कल्पना नहीं की जा सकती है?


1
हस्तलिखित अंक क्लस्टरिंग के लिए एक अच्छा परीक्षण करते हैं: एक 10 अच्छी तरह से अलग किए गए समूहों की अपेक्षा करेगा, लेकिन यह कश्मीर = 10 पर कोई घुटने नहीं दिखाता है, कम से कम 64 यूक्लिडियन मीट्रिक में।
डेसीस


2
यह सवाल एक हद तक संबंधित है, यह सवाल कि आपके क्लस्टरिंग परिणामों की वैधता की जांच कैसे करें और "बेहतर" विधि का चयन कैसे करें। उदाहरण के लिए देखें आंकड़े ।stackexchange.com/q/195456/3277
ttnphns

जवाबों:


77

विशेष रूप से के-साधनों के बारे में, आप गैप आँकड़ों का उपयोग कर सकते हैं। मूल रूप से, विचार समूहों की बढ़ती संख्या के लिए संदर्भ वितरण की तुलना में औसत फैलाव के आधार पर क्लस्टरिंग माप की अच्छाई की गणना करना है। अधिक जानकारी के मूल कागज में पाया जा सकता है:

टिबशिरानी, ​​आर।, वाल्थर, जी।, और हस्ती, टी। (2001)। अंतर आंकड़े के माध्यम से निर्धारित आंकड़ों में समूहों की संख्या का अनुमान लगाना । जेआर स्टेटिस्ट। समाज। बी, 63 (2): 411-423।

एक संबंधित प्रश्न के लिए मैंने जो उत्तर दिया, वह अन्य सामान्य वैधता सूचकांकों पर प्रकाश डालता है, जिनका उपयोग यह जांचने के लिए किया जा सकता है कि क्या दिया गया डेटासेट किसी प्रकार की संरचना प्रदर्शित करता है।

जब आपको इस बात का कोई अंदाजा नहीं होता है कि आप केवल शोर होने पर क्या खोजने की उम्मीद करेंगे, तो एक अच्छा तरीका है कि आप रेज़मैपलिंग का उपयोग करें और क्लस्टर स्थिरता का अध्ययन करें। दूसरे शब्दों में, अपने डेटा को पुनः आरंभ करें (बूटस्ट्रैप के माध्यम से या इसमें छोटे शोर को जोड़कर) और परिणामस्वरूप विभाजन की "निकटता" की गणना करें, जैसा कि जैकार्ड समानताएं द्वारा मापा गया है । संक्षेप में, यह उस आवृत्ति का अनुमान लगाने की अनुमति देता है जिसके साथ डेटा में समान क्लस्टर प्राप्त किए गए थे। यह विधि fpc R पैकेज में आसानी से उपलब्ध है clusterboot()। यह कच्चे डेटा या एक दूरी मैट्रिक्स के रूप में इनपुट के रूप में लेता है, और क्लस्टरिंग विधियों (पदानुक्रमित, k- साधन, फ़ज़ी तरीके) की एक विस्तृत श्रृंखला को लागू करने की अनुमति देता है। इस विधि से जुड़े संदर्भों में चर्चा की गई है:

हेनिग, सी। (2007) क्लस्टर-स्थिरता का क्लस्टर-वार मूल्यांकनकम्प्यूटेशनल सांख्यिकी और डेटा विश्लेषण , 52, 258-271।

हेनिग, सी। (2008) विघटन बिंदु और अलगाव मजबूती: सामान्य क्लस्टर विश्लेषण विधियों के लिए मजबूती मानदंडबहुभिन्नरूपी विश्लेषण जर्नल , 99, 1154-1176।

नीचे k- साधन एल्गोरिथ्म के साथ एक छोटा प्रदर्शन है।

sim.xy <- function(n, mean, sd) cbind(rnorm(n, mean[1], sd[1]),
rnorm(n, mean[2],sd[2]))
xy <- rbind(sim.xy(100, c(0,0), c(.2,.2)),
            sim.xy(100, c(2.5,0), c(.4,.2)),
            sim.xy(100, c(1.25,.5), c(.3,.2)))
library(fpc)
km.boot <- clusterboot(xy, B=20, bootmethod="boot",
                       clustermethod=kmeansCBI,
                       krange=3, seed=15555)

इस कृत्रिम (और अच्छी तरह से संरचित) डेटासेट में परिणाम काफी सकारात्मक हैं क्योंकि तीन समूहों में से कोई भी krangeनमूने में भंग नहीं किया गया था, और सभी क्लस्टर के लिए औसत क्लस्टरवाइज जैकार्ड समानता> 0.95 है।

नीचे 20 बूटस्ट्रैप नमूनों पर परिणाम दिए गए हैं। जैसा कि देखा जा सकता है, सांख्यिकीय इकाइयां एक ही क्लस्टर में समूहीकृत रहने की प्रवृत्ति रखती हैं, उन टिप्पणियों के बीच कुछ अपवाद हैं।

यहाँ छवि विवरण दर्ज करें

आप इस विचार को किसी भी वैधता सूचकांक में विस्तारित कर सकते हैं: निश्चित रूप से: बूटस्ट्रैप (प्रतिस्थापन के साथ) द्वारा टिप्पणियों की एक नई श्रृंखला चुनें, अपनी सांख्यिकी (जैसे, सिल्हूट चौड़ाई, मैथुन संबंधी सहसंबंध, ह्यूबर्ट की गामा, वर्गों की राशि के भीतर) की एक सीमा के लिए गणना करें क्लस्टर संख्या (जैसे, 2 से 10), 100 या 500 बार दोहराएं, और क्लस्टर की संख्या के एक फ़ंक्शन के रूप में अपने आंकड़े के बॉक्सप्लेट को देखें।

यहाँ मैं एक ही सिम्युलेटेड डेटासेट के साथ मिलता हूं, लेकिन वार्ड के पदानुक्रमित क्लस्टरिंग का उपयोग करते हुए और कोपेनहेनेटिक सहसंबंध (जिसके परिणामस्वरूप विभाजन में कितनी अच्छी तरह से दूरी की जानकारी पुन: पेश की जाती है) और सिल्हूट चौड़ाई (अंतर-क्लस्टर समरूपता का आकलन करने वाला संयोजन) और अंतर- क्लस्टर जुदाई)।

मैथुन संबंधी सहसंबंध 0.2631 (500 बूटस्ट्रैप नमूनों) के औसत मूल्य के साथ 0.6267 से 0.7511 तक है। सिल्हूट की चौड़ाई अधिकतम दिखाई देती है जब हम 3 समूहों (मध्य 0.8408, सीमा 0.7371-0.8769) पर विचार करते हैं।

यहाँ छवि विवरण दर्ज करें


इस बहुत जानकारीपूर्ण उत्तर के लिए धन्यवाद! क्लस्टरबूट की तरह लगता है कि मैं क्या देख रहा हूँ। लिंक को शामिल करने के लिए भी धन्यवाद।
xuexue

1
सिल्हूट मानों की व्याख्या करने के लिए कुछ जादू नंबर: आंकड़े.stackexchange.com/a/12923/12359
फ्रेंक डेर्नोनकोर्ट

1
आप उन चार्टों को बनाने के लिए किस कमांड (कमांडों) का उपयोग करते थे?
ट्रैविस हेटर

2
@Travis छवियों को अलग PNG फ़ाइलों के रूप में सहेजा गया था, और फिर ImageMagick का उपयोग करके एक एनिमेटेड GIF फ़ाइल में परिवर्तित कर दिया गया । इस पोस्ट को भी देखें ।
chl

10

जल्दी से कल्पना करने का एक तरीका है कि क्या उच्च आयामी डेटा पर्याप्त क्लस्टरिंग प्रदर्शित करता है, टी-वितरित स्टोचैस्टिक पड़ोसी एंबेडिंग ( टी-एसएनई ) का उपयोग करना है। यह कुछ कम आयामी स्थान (जैसे 2 डी, 3 डी) के लिए डेटा को प्रोजेक्ट करता है और क्लस्टर संरचना को रखने पर बहुत अच्छा काम करता है।

उदाहरण के लिए MNIST डेटा सेट :

यहाँ छवि विवरण दर्ज करें

डेटा सेट का सामना करता है:

यहाँ छवि विवरण दर्ज करें


1
आर में चेहरे (या किसी भी चित्र) को लागू करने का एक तरीका है?
ट्रैविस हेटर

1
@TravisHeeter मैं नहीं जानता
फ्रेंक डर्नोनकोर्ट

3
डेटा को अनुमानित नहीं करें। देखें, उदाहरण के लिए, यह उत्तर: आंकड़े.stackexchange.com/a/264647/7828
Anony-Mousse

9

निश्चित रूप से, समूहों की एक प्लॉटेबल संख्या में समूहों को नेत्रहीन रूप से समझने की क्षमता एक क्लस्टरिंग एल्गोरिथ्म की उपयोगिता के लिए एक संदिग्ध मानदंड है, खासकर यदि यह आयाम कमी क्लस्टरिंग के स्वतंत्र रूप से ही किया जाता है (यानी: पता लगाने की कोशिश में व्यर्थ। क्लस्टरिंग काम करेगा)।

वास्तव में, क्लस्टरिंग विधियों में क्लस्टर खोजने में उनका उच्चतम मूल्य है जहां मानव आंख / मन समूहों को देखने में असमर्थ है।

सरल उत्तर है: क्लस्टरिंग करें, फिर पता करें कि क्या यह काम किया है (किसी भी मापदंड के साथ, जिसमें आप रुचि रखते हैं, @ जेफ का जवाब भी देखें)।


1
हां, और क्लस्टर आवश्यक रूप से अंकों के अच्छे गोल समूह नहीं हैं, जो मूल रूप से किमी के मानने वाले हैं।
वेन

@chl क्या आपने R के साथ इस एनिमेटेड छवि का निर्माण किया?
स्टीफन लॉरेंट

7

जब भी परिणाम सार्थक होते हैं ? विशेष रूप से k- साधन परिणाम में?

तथ्य यह है कि k- साधन एक निश्चित गणितीय सांख्यिकीय का अनुकूलन करता है। इससे जुड़ा कोई "सार्थक" नहीं है।

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

यदि आप क्लासिक "पुराने वफादार" डेटा सेट लेते हैं और सामान्यीकरण के बिना उस पर के-साधन चलाते हैं , लेकिन शुद्ध यूक्लिडियन दूरी के साथ, यह पहले से ही अब सार्थक नहीं है। ईएम, जो वास्तव में "क्लस्टर स्थानीय" महालनोबिस दूरी के कुछ रूप का उपयोग करता है, बहुत बेहतर काम करेगा। विशेष रूप से, यह बहुत अलग-अलग तराजू वाले कुल्हाड़ियों के लिए adapts।

Btw, k- साधनों की एक प्रमुख ताकत यह है कि यह वास्तव में हमेशा डेटा का विभाजन करेगा, चाहे वह कैसा भी दिखे। आप k- साधनों को एक समान शोर को k समूहों में विभाजित करने के लिए उपयोग कर सकते हैं । कोई यह दावा कर सकता है कि जाहिर है, k- साधन क्लस्टर सार्थक नहीं हैं। या कोई इसे इस रूप में स्वीकार कर सकता है: उपयोगकर्ता क्लस्टर को यूक्लिडियन दूरी को कम करने के लिए डेटा को विभाजित करना चाहता था, बिना क्लस्टर की आवश्यकता के "सार्थक" होने के लिए।


@ Anony-Mousse और 'विभाजन के लिए एक समान शोर के मामले में k क्लस्टर' का उपयोग करें?
कोडफ़ार्मर

वहां कोई नहीं है। मुद्दा यह है कि k- साधनों की परवाह नहीं है, यह समान डेटा को "क्लस्टर" में विभाजित करेगा, अर्थात, यह बकवास क्लस्टर का उत्पादन करता है।
ऐनी-मूस

6

मैंने हाल ही में क्लस्टरिंग एल्गोरिदम का उपयोग करना शुरू किया है, इसलिए उम्मीद है कि कोई और जानकार अधिक संपूर्ण उत्तर प्रदान कर सकता है, लेकिन यहां कुछ जानकारी दी गई है:

'सार्थक', जैसा कि मुझे यकीन है कि आप जागरूक हैं, बहुत व्यक्तिपरक है। तो क्या क्लस्टरिंग अच्छी है या नहीं यह पूरी तरह से इस बात पर निर्भर करता है कि आपको पहले स्थान पर क्लस्टर की आवश्यकता क्यों है। यदि आप समूह सदस्यता की भविष्यवाणी करने की कोशिश कर रहे हैं, तो यह संभावना है कि कोई भी क्लस्टरिंग मौका (और खराब नहीं) से बेहतर करेगा, इसलिए परिणाम कुछ हद तक सार्थक होने चाहिए।

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

आपका दूसरा प्रश्न 'मुझे किस मूल्य का चयन करना चाहिए?' फिर, यहाँ कोई कठिन जवाब नहीं है। श्रेणियों के किसी भी प्राथमिक सेट के अभाव में, आप संभवतः औसत क्लस्टर विचरण को कम करते हुए समूहों की संख्या को कम करना चाहते हैं। एक सरल दृष्टिकोण 'क्लस्टर' बनाम 'औसत क्लस्टर संस्करण' की संख्या की साजिश रच सकता है, और "कोहनी" की तलाश कर सकता है - जहां अधिक क्लस्टर जोड़ने से आपके क्लस्टर संस्करण पर महत्वपूर्ण प्रभाव नहीं पड़ता है।

मैं यह नहीं कहूंगा कि के-माध्य से परिणाम निरर्थक हैं यदि यह कल्पना नहीं की जा सकती है, लेकिन यह निश्चित रूप से आकर्षक है जब क्लस्टर स्पष्ट दिखाई देते हैं। यह, फिर से, बस सवाल पर वापस जाता है: आपको क्लस्टरिंग करने की आवश्यकता क्यों है, और आपको कितना विश्वसनीय होना चाहिए? अंतत: यह एक ऐसा सवाल है जिसका जवाब आपको इस आधार पर देना होगा कि आप डेटा का उपयोग कैसे करेंगे।


3

यह बताने के लिए कि क्या एक क्लस्टरिंग सार्थक है, आप क्लस्टर की संख्या की गणना करने के लिए एक एल्गोरिथ्म चला सकते हैं, और यह देख सकते हैं कि क्या यह 1 से अधिक के लिए आउटपुट करता है।

kk

kk

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