सिल्हूट भूखंड की व्याख्या कैसे करें?


34

Im मेरे डेटासेट में क्लस्टर की संख्या निर्धारित करने के लिए सिल्हूट प्लॉट का उपयोग करने की कोशिश कर रहा है। डेटासेट ट्रेन को देखते हुए , मैंने निम्नलिखित मैटलैब कोड का उपयोग किया

Train_data = full(Train);  
Result = [];  
for num_of_cluster = 1:20  
    centroid = kmeans(Train_data,num_of_cluster,'distance','sqeuclid');  
    s = silhouette(Train_data,centroid,'sqeuclid');  
    Result = [ Result; num_of_cluster mean(s)];  
end  
plot( Result(:,1),Result(:,2),'r*-.');`

परिणामी भूखंड को xaxis के साथ नीचे दिया गया है क्योंकि क्लस्टर और yaxis की संख्या सिल्हूट मूल्य का मतलब है

मैं इस ग्राफ की व्याख्या कैसे करूं? मैं इससे क्लस्टर की संख्या कैसे निर्धारित करूं?

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


समूहों की संख्या निर्धारित करने के लिए, विज़ुअलाइज़ेशन-सॉफ़्टवेयर-फॉर-क्लस्टरिंग के तहत न्यूनतम फैले हुए पेड़ (MST) विधि देखें ।
डेनिस

@ लर्नर: कुछ पुस्तकालय में सिल्हूट फ़ंक्शन इनबिल्ट है? यदि नहीं, तो क्या आप इसे अपने प्रश्न में पोस्ट कर सकते हैं यदि आप बुरा नहीं मानते हैं?
किंवदंती

@Legend: इसकी Matlab सांख्यिकी टूलबॉक्स में उपलब्ध है।
शिक्षार्थी

@ लर्नर: ओहो ... मुझे लगा कि आप पायथन का उपयोग कर रहे हैं :) मुझे इसके बारे में बताने के लिए धन्यवाद।
लीजेंड

1
कोड दिखाने के लिए +1! इसके अलावा, चूंकि आपके सिल्हूट का अधिकतम मतलब k = 2 होता है, इसलिए आप यह जांचना चाहते हैं कि क्या आपका डेटा क्लस्टर किया गया है, जिसे गैप स्टैटिस्टिक्स (दूसरा लिंक ) का उपयोग करके किया जा सकता है ।
फ्रेंक डर्नोनकोर्ट

जवाबों:


41

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


दीर्घ उत्तर यह है कि आपके क्लस्टरिंग प्रयासों के परिणामों का मूल्यांकन करने का सबसे अच्छा तरीका वास्तव में जांच करना है - मानव निरीक्षण - क्लस्टर का गठन और डेटा क्या दर्शाता है, क्या क्लस्टर का प्रतिनिधित्व करता है की समझ के आधार पर एक दृढ़ संकल्प बना रहा है, और क्लस्टरिंग क्या हासिल करना है।

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

उदाहरण: क्लस्टर मास / त्रिज्या / घनत्व, समूहों के बीच सामंजस्य या अलगाव, ये अवधारणाएं अक्सर संयुक्त होती हैं, उदाहरण के लिए, जुदाई का अनुपात बड़ा होना चाहिए अगर क्लस्टरिंग सफल रहा।

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


सिल्हूट गुणांक एक ऐसा उपाय है। यह निम्नानुसार काम करता है:

प्रत्येक बिंदु पी के लिए, पहले पी और अन्य सभी बिंदुओं के बीच एक ही क्लस्टर में औसत दूरी का पता लगाएं (यह सामंजस्य का एक उपाय है, इसे ए कहें)। फिर निकटतम क्लस्टर में पी और सभी बिंदुओं के बीच औसत दूरी का पता लगाएं (यह निकटतम अन्य क्लस्टर से अलग होने का एक उपाय है, इसे बी कहते हैं)। पी के लिए सिल्हूट गुणांक को बी और ए के बीच अंतर के रूप में परिभाषित किया गया है जो दो से अधिक (अधिकतम (ए, बी)) है।

हम प्रत्येक बिंदु के क्लस्टर गुणांक का मूल्यांकन करते हैं और इसमें से हम 'समग्र' औसत क्लस्टर गुणांक प्राप्त कर सकते हैं।

सहज रूप से, हम गुच्छों के बीच की जगह को मापने की कोशिश कर रहे हैं। यदि क्लस्टर सामंजस्य अच्छा है (ए छोटा है) और क्लस्टर पृथक्करण अच्छा है (बी बड़ा है), अंश बड़ा होगा आदि।

मैंने इस चित्र को प्रदर्शित करने के लिए यहां एक उदाहरण का निर्माण किया है।

क्लस्टरिंग गुणांक Nclusters के लिए क्लस्टरिंग के परिणाम = 2: 5

इन भूखंडों में एक ही डेटा को पांच बार प्लॉट किया जाता है; रंग k- 1,2,3,4,5 के साथ k- साधन क्लस्टरिंग द्वारा बनाए गए समूहों को इंगित करते हैं। यही है, मैंने डेटा को 2 समूहों में विभाजित करने के लिए एक क्लस्टरिंग एल्गोरिदम को मजबूर किया है, फिर 3, और इसी तरह, और तदनुसार ग्राफ को रंगीन किया।

सिल्हूट प्लॉट से पता चलता है कि सिल्हूट गुणांक k = 3 के उच्चतम था, यह सुझाव देते हुए कि समूहों की इष्टतम संख्या है। इस उदाहरण में हम भाग्यशाली हैं जो डेटा की कल्पना करने में सक्षम हैं और हम इस बात से सहमत हो सकते हैं कि वास्तव में, तीन क्लस्टर इस डेटा सेट के विभाजन को सर्वश्रेष्ठ रूप से पकड़ते हैं।

यदि हम डेटा की कल्पना करने में असमर्थ थे, शायद उच्च आयामीता के कारण, एक सिल्हूट साजिश अभी भी हमें एक सुझाव देगी। हालाँकि, मुझे उम्मीद है कि मेरे कुछ लंबे-लंबे जवाब यहाँ भी इस बात की ओर इशारा करते हैं कि यह "सुझाव" कुछ परिदृश्यों में बहुत अपर्याप्त या सिर्फ सादा गलत हो सकता है।


5
आपके विस्तृत जवाब के लिए धन्यवाद, और विशेष रूप से भूखंड बहुत मददगार हैं। हालाँकि, मैं यह नहीं समझ पाया कि the average silhouette witdh "suggestion" could be very insufficient or just plain wrong in certain scenarios.आप कैसे दावा करते हैं।
ज़ुर्बेर

10

पर एक नजर डालें क्लस्टर वैधता विश्लेषण प्लेटफार्म (CVAP) साधन और सामग्री CVAP से (लिंक) के कुछ:

सिल्हूट इंडेक्स (समग्र औसत सिल्हूट) एक बड़ा सिल्हूट मूल्य एक क्लस्टरिंग परिणाम [चेन एट अल] की बेहतर गुणवत्ता को इंगित करता है । 2002]

  • एन। बोलशकोवा, एफ। अज़ुजे। 2003. जीनोम एक्सप्रेशन डेटा, सिग्नल प्रोसेसिंग के लिए क्लस्टर सत्यापन तकनीक। V.83। N4, P.825-833।
  • ई। दिमित्रिदौ, एस। डोलेनिकार, ए। वेनेगसेल। बाइनरी डेटा सेट में क्लस्टर की संख्या निर्धारित करने के लिए अनुक्रमित की एक परीक्षा। साइकोमेट्रिका, 67 (1): 137-160, 2002।

आप समूहों की संख्या का अनुमान लगाने के लिए इस (सरल) टूल को भी देख सकते हैं

दोनों टूलकिट के उदाहरणों पर एक नज़र डालें (आप अन्य क्लस्टर सत्यापन तकनीकों का भी उपयोग कर सकते हैं)


6

मैं आज उसी चीज पर गौर कर रहा हूं और यहां एक व्याख्या मिली है । यह तार्किक समझ में आता है लेकिन मुझे यकीन नहीं है कि हम अपने डेटासेट के लिए व्याख्या को आँख बंद करके लागू कर सकते हैं। संक्षेप में, वह लेख जो कहता है वह निम्नलिखित है:

0.71-1.0
A strong structure has been found

0.51-0.70
A reasonable structure has been found

0.26-0.50
The structure is weak and could be artificial. Try additional methods of data analysis.

< 0.25
No substantial structure has been found

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


4
सिर्फ एक इतिहास की टिप्पणी, तालिका मूल रूप से सेवेल, ग्रैंडविले और पीजे रूसो की है। "डेटा में समूह खोजना: क्लस्टर विश्लेषण का परिचय।" (1990)। img546.imageshack.us/img546/4523/cnfg.png (शायद पहले लेखकों के लेखों में से एक में प्रकाशित हुआ है)
फ्रेंक डेर्नोनकोर्ट

उत्तर में लिंक अब उपलब्ध नहीं है। क्या आप कृपया एक और संदर्भ प्रदान कर सकते हैं?
BajajG

यहाँ वेब संग्रह से लेख का लिंक दिया गया है: web.archive.org/web/20111002220803/http://www.unesco.org:80/…
Justas

1

यदि आप बिना पढ़े सीखने के लिए समूहों की संख्या का चयन करने की कोशिश कर रहे हैं, तो शायद आप कुछ ऐसा करने की कोशिश कर सकते हैं-

http://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html

वे केवल सिल्हूट स्कोर माध्य से अधिक का उपयोग करते हैं (वे वितरण का उपयोग करते हैं) लेकिन यह समझ में आता है। ऐसा लगता है कि यह छोटे समूहों को पसंद करता है, लेकिन हो सकता है कि आप कुछ उत्पन्न आंकड़ों के साथ इसे आजमाएं और देखें कि क्या काम करता है?

वैकल्पिक रूप से, आप इस कागज की जांच कर सकते हैं-

http://www.sciencedirect.com/science/article/pii/0377042787901257

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