K- मीन्स मिश्रित संख्यात्मक और श्रेणीबद्ध डेटा के लिए क्लस्टरिंग है


133

मेरे डेटा सेट में कई संख्यात्मक विशेषताएँ और एक श्रेणीबद्ध है।

कहो NumericAttr1, NumericAttr2, ..., NumericAttrN, CategoricalAttr,

जहां CategoricalAttrतीन संभावित एक मान लेता है: CategoricalAttrValue1, CategoricalAttrValue2या CategoricalAttrValue3

मैं ऑक्टेव https://blog.west.uni-koblenz.de/2012-07-14/a-working-k-means-code-for-octave/ के लिए डिफ़ॉल्ट k- साधन क्लस्टरिंग कार्यान्वयन का उपयोग कर रहा हूं । यह केवल संख्यात्मक डेटा के साथ काम करता है।

तो मेरा सवाल: क्या यह श्रेणीगत विशेषता CategoricalAttrको तीन संख्यात्मक (बाइनरी) चर में विभाजित करना सही है , जैसे IsCategoricalAttrValue1, IsCategoricalAttrValue2, IsCategoricalAttrValue3?


7
हां, 1-एन-एन एन्कोडिंग का उपयोग करना भी मान्य है।
सीन ओवेन

1
शायद यह दृष्टिकोण उपयोगी होगा: zeszyty-naukowe.wwsi.edu.pl/zeszyty/zeszyt12/…

क्या आपके पास श्रेणीबद्ध और संख्यात्मक डेटा के 'टाइम सीरीज़' क्लस्टरिंग मिश्रण के बारे में कोई विचार है?
लीला Yousefi

जवाबों:


122

मानक k- साधन एल्गोरिथ्म विभिन्न कारणों से सीधे श्रेणीबद्ध डेटा पर लागू नहीं होता है। श्रेणीबद्ध डेटा के लिए नमूना स्थान असतत है, और इसमें एक प्राकृतिक मूल नहीं है। ऐसे स्थान पर यूक्लिडियन दूरी कार्य वास्तव में सार्थक नहीं है। जैसा कि किसी ने कहा, "एक साँप के पास न तो पहिए होते हैं और न ही पैर हमें पहियों और पैरों के सापेक्ष मूल्य के बारे में कुछ भी कहने की अनुमति देते हैं।" ( यहां से )

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

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

"K- साधन मिक्स ऑफ़ श्रेणीबद्ध डेटा" के लिए एक Google खोज, k- साधन जैसे श्रेणीबद्ध और संख्यात्मक डेटा के मिश्रण के लिए विभिन्न एल्गोरिदम पर कुछ और हाल के पेपर को बदल देती है। (मैंने अभी तक उन्हें नहीं पढ़ा है, इसलिए मैं उनकी खूबियों पर टिप्पणी नहीं कर सकता।)


असल में, आप जो सुझाव देते हैं (बाइनरी मानों के लिए श्रेणीबद्ध विशेषताओं को परिवर्तित करना, और फिर के-साधन करना जैसे कि ये संख्यात्मक मान थे) एक और दृष्टिकोण है जिसे पहले (के-मोड पूर्ववर्ती) करने की कोशिश की गई है। (रलांबोंड्रेनी, एच। 1995 को देखें। k- साधन एल्गोरिथ्म का एक वैचारिक संस्करण। पैटर्न मान्यता पत्र, 16: 1147-1157।) लेकिन मेरा मानना ​​है कि के-मोड दृष्टिकोण को उन कारणों के लिए पसंद किया जाता है, जो मैंने ऊपर बताए हैं।


10
अगर आपका स्केल आपके संख्यात्मक फीचर्स को उसी रेंज में करता है जैसे कि बिनाराइज्ड कंजोरिकल फीचर्स तो cosine समानता ऊपर हैमिंग दृष्टिकोण के समान परिणाम देता है। मेरे पास यह पुष्टि करने का एक मजबूत तरीका नहीं है कि यह सभी मामलों में काम करता है, इसलिए जब मेरे पास मिश्रित बिल्ली और संख्या डेटा होता है, तो मैं हमेशा एक नमूना पर क्लस्टरिंग की जांच करता हूं जिसका मैंने उल्लेख किया सरल कॉम्न विधि और हमिंग के साथ अधिक जटिल मिश्रण होता है। यदि अंतर महत्वहीन है तो मैं सरल विधि पसंद करता हूं।
cwharland

1
यह एक समझदार दृष्टिकोण @cwharland की तरह लगता है। आगे विचार करने पर मैं यह भी ध्यान देता हूं कि एक फायदा हुआंग Ralambondrainy के k- मोड के दृष्टिकोण के लिए देता है - कि आपको अपने श्रेणीबद्ध चर के प्रत्येक मूल्य के लिए एक अलग सुविधा शुरू करने की आवश्यकता नहीं है - वास्तव में इसमें कोई फर्क नहीं पड़ता ओपी का मामला जहां उसके पास केवल तीन मूल्यों के साथ एक एकल श्रेणीगत चर है। काम करने वाले सबसे सरल दृष्टिकोण के साथ जाने के लिए बेहतर है।
टिम गुडमैन

3
अच्छा उत्तर। संभावित रूप से सहायक: मैंने पायथन में हुआंग के k- मोड्स और k- प्रोटोटाइप (और कुछ विविधताएं) को लागू किया है: github.com/nicodv/kmodes
Def_Os

2
मैं संख्यात्मक मूल्यों के लिए श्रेणीबद्ध विशेषताओं को परिवर्तित करने की अनुशंसा नहीं करता हूं। कल्पना कीजिए कि आपके पास दो शहर के नाम हैं: NY और LA। यदि आप NY नंबर 3 और LA नंबर 8 को लागू करते हैं, तो दूरी 5 है, लेकिन उस 5 में NY और LA के बीच अंतर के साथ देखने के लिए कुछ भी नहीं है।
एडीसेंटोस

@adesantos हाँ, यह एक एकल संख्यात्मक सुविधा के साथ कई श्रेणियों का प्रतिनिधित्व करने और यूक्लिडियन दूरी का उपयोग करने के साथ एक समस्या है। हैमिंग दूरी का उपयोग करना एक दृष्टिकोण है; उस स्थिति में दूरी प्रत्येक सुविधा के लिए 1 है जो भिन्न होती है (श्रेणियों के लिए निर्दिष्ट संख्यात्मक मूल्यों के बीच अंतर के बजाय)। प्रत्येक श्रेणी को अपनी विशेषता बनाना एक और दृष्टिकोण है (उदाहरण के लिए, "यह एनवाई है" के लिए 0 या 1, और "एलए यह है" के लिए 0 या 1 है)।
टिम गुडमैन

24

मेरी राय में, क्लस्टरिंग में श्रेणीबद्ध डेटा से निपटने के लिए समाधान हैं। R श्रेणीबद्ध डेटा के लिए एक विशिष्ट दूरी के साथ आता है। इस दूरी को गोवर ( http://www.rdocumentation.org/packages/StatMatch/versions/1.2.0/topics/gower.dist ) कहा जाता है और यह बहुत अच्छी तरह से काम करता है।


2
यह वह दृष्टिकोण है जो मैं एक मिश्रित डेटासेट के लिए उपयोग कर रहा हूं - गोवर दूरी मैट्रिक्स पर लागू किए गए मेडोइड्स के आसपास विभाजन (देखें r-bloggers.com/clustering-mixed-data-types-in-r )। समस्या यह है कि दूरी मैट्रिक्स की गणना के लिए O (n ^ 2) के अनुपात में बहुत अधिक मेमोरी की आवश्यकता होती है, इसलिए 10 या 20,000 से अधिक रिकॉर्ड वाले डेटासेट के लिए, मैं k- साधन क्लस्टरिंग पर देख रहा हूं जिसके लिए कम मेमोरी की आवश्यकता होती है और वह संभाल सकता है मिश्रित डेटा।
रॉबर्ट एफए

@RobertF ही यहाँ। दुर्भाग्य से ज्यादातर समस्याओं के लिए संभव डेटा आकार बहुत कम है।
पिग्गीबॉक्स

20

(टिम गुडमैन द्वारा उत्कृष्ट उत्तर के अलावा)

K- मोड का विकल्प निश्चित रूप से उपयोग किए जाने वाले क्लस्टरिंग एल्गोरिथ्म की स्थिरता के लिए जाने का तरीका है।

  1. क्लस्टरिंग एल्गोरिदम किसी भी दूरी मीट्रिक / समानता स्कोर चुनने के लिए स्वतंत्र है। यूक्लिडियन सबसे लोकप्रिय है। लेकिन किसी भी अन्य मीट्रिक का उपयोग किया जा सकता है जो प्रत्येक आयाम / विशेषता में डेटा वितरण के अनुसार तराजू है, उदाहरण के लिए महालनोबिस मीट्रिक। उपयोग किए गए दूरी मीट्रिक के आधार पर केंद्र से डेटा बिंदुओं की दूरी का चित्रण।

  2. मिश्रित (संख्यात्मक और श्रेणीबद्ध) के संबंध में एक अच्छे पेपर का क्लस्टरिंग जो मदद कर सकता है: INCONCO: न्यूमेरिकल और श्रेणीबद्ध वस्तुओं की व्याख्यात्मक क्लस्टरिंग

  3. के-मीन्स से परे: चूंकि सादे वेनिला के-साधनों को पहले से ही इस समस्या के लिए एक उपयुक्त दृष्टिकोण के रूप में खारिज किया गया है, इसलिए मैं एक मॉडल फिटिंग समस्या के रूप में क्लस्टरिंग के विचार से परे उद्यम करूंगा। विभिन्न उपाय, जैसे सूचना-सिद्धांत संबंधी मीट्रिक: कुल्बैक-लाइबलर विचलन एक अच्छा काम करते हैं जब डेटा वितरण की दिशा में एक पैरामीट्रिक मॉडल को परिवर्तित करने की कोशिश की जाती है। (बेशक पैरामीट्रिक क्लस्टरिंग तकनीक जैसे जीएमएम, माइग्रेन की तुलना में धीमी हैं, इसलिए विचार करने के लिए कमियां हैं)

  4. फजी के-मोड क्लस्टरिंग भी अजीब लगता है क्योंकि फजी लॉजिक तकनीकों को स्पष्ट डेटा जैसे कुछ से निपटने के लिए विकसित किया गया था। अधिक जानकारी के लिए फ़ज़ी सेंट्रोइड्स का उपयोग करके श्रेणीबद्ध डेटा की फ़ज़ी क्लस्टरिंग देखें ।

यह भी देखें: रॉक: श्रेणीबद्ध गुणों के लिए एक मजबूत क्लस्टरिंग एल्गोरिदम


17

यह प्रश्न वास्तव में प्रतिनिधित्व के बारे में लगता है, और क्लस्टरिंग के बारे में इतना नहीं।

मशीन लर्निंग में अधिकांश एल्गोरिदम के लिए श्रेणीबद्ध डेटा एक समस्या है। मान लीजिए, उदाहरण के लिए, आपके पास "रंग" नामक कुछ श्रेणीबद्ध चर हैं जो लाल, नीले या पीले रंग के मूल्यों को ले सकते हैं। अगर हम इन संख्याओं को क्रमशः 1,2, और 3 के रूप में सांकेतिक शब्दों में बदलना करते हैं, तो हमारा एल्गोरिथ्म सोचेगा कि लाल (1) वास्तव में नीले (2) के करीब है क्योंकि यह पीले (3) की तुलना में है। हमें एक प्रतिनिधित्व का उपयोग करने की आवश्यकता है जो कंप्यूटर को समझने देता है कि ये चीजें वास्तव में समान रूप से भिन्न हैं।

एक सरल तरीका यह है कि जिसे एक-हॉट प्रतिनिधित्व कहा जाता है उसका उपयोग करें , और यह वही है जो आपने सोचा था कि आपको क्या करना चाहिए। "रंग" जैसा एक वैरिएबल होने के बजाय जो तीन मान ले सकता है, हम इसे तीन चरों में अलग करते हैं। ये "रंग-लाल," "रंग-नीला," और "रंग-पीला" होंगे, जो सभी केवल 1 या 0 के मूल्य पर ले सकते हैं।

इससे अंतरिक्ष की गतिशीलता बढ़ जाती है, लेकिन अब आप अपनी पसंद के किसी भी क्लस्टरिंग एल्गोरिदम का उपयोग कर सकते हैं। यह कभी-कभी इस प्रक्रिया को करने के बाद डेटा को zscore या व्हाइट करने के लिए समझ में आता है, लेकिन आपका विचार निश्चित रूप से उचित है।


मैं आपके उत्तर से सहमत हूं। HotEncoding बहुत उपयोगी है।
प्रमित

4

आप एक्सपेक्टेशन मैक्सिमाइजेशन क्लस्टरिंग एल्गोरिदम को भी आजमा सकते हैं। यह श्रेणीबद्ध डेटा पर काम कर सकता है और आपको एक सांख्यिकीय संभावना देगा जिसमें श्रेणीबद्ध मान (या मान) एक क्लस्टर को लेने की सबसे अधिक संभावना है।


2
क्या आप अधिक विशिष्ट हो सकते हैं? EM एक अनुकूलन एल्गोरिथ्म को संदर्भित करता है जिसका उपयोग क्लस्टरिंग के लिए किया जा सकता है। ऐसा करने के कई तरीके हैं और यह स्पष्ट नहीं है कि आपका क्या मतलब है।
बायर

@ बायर, मुझे लगता है कि यहाँ वर्णित क्लस्टरिंग गॉसियन मिक्स मॉडल है। जीएमएम आमतौर पर ईएम का उपयोग करता है।
गोह

1
मुझे नहीं लगता है कि उसका क्या मतलब है, क्योंकि जीएमएम श्रेणीबद्ध चर नहीं मानता है।
बायर

3

यह आपके श्रेणीबद्ध चर का उपयोग करने पर निर्भर करता है। ऑर्डिनल वेरिएबल्स के लिए, खराब, औसत और अच्छे की तरह कहें, यह केवल एक वेरिएबल का उपयोग करने के लिए समझ में आता है और इसमें 0,1,2 मूल्य हैं और दूरियां यहां समझ में आती हैं (एवरेज खराब और अच्छे के करीब है)। हालांकि, अगर कोई आदेश नहीं है, तो आपको आदर्श रूप से एक गर्म एन्कोडिंग का उपयोग करना चाहिए जैसा कि ऊपर उल्लेख किया गया है।


3

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

1) विभाजन-आधारित एल्गोरिदम: k- प्रोटोटाइप, स्क्वीज़र
2) पदानुक्रमित एल्गोरिदम: ROCK, एग्लोमेरेटिव एकल, औसत, और पूर्ण लिंकेज
3) घनत्व-आधारित एल्गोरिदम: HIERDENC, MULIC, CLIQUE
4) मॉडल-आधारित एल्गोरिदम: SVM क्लस्टरिंग, स्व। नक्शे को अव्यवस्थित करना

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


2

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

प्रतिनिधित्व

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

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

यदि श्रेणीगत मान "समतुल्य" नहीं है और आदेश दिया जा सकता है, तो आप श्रेणियों को एक संख्यात्मक मान भी दे सकते हैं। उदाहरण के लिए, बच्चा, किशोरी, वयस्क, संभवतः 0, 1 के रूप में प्रतिनिधित्व किया जा सकता है, और 2. इसका मतलब होगा क्योंकि एक किशोर एक वयस्क की तुलना में एक बच्चा होने के लिए "करीब" है।

कश्मीर Medoids

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


1

यदि हम एक ऐसे परिदृश्य पर विचार करते हैं जहाँ श्रेणीगत चर गर्म एन्कोडेड नहीं हो सकता है जैसे कि श्रेणीगत चर में 200 + श्रेणियां हैं।

ऐसे मामलों में आप एक संकुल clustMixType का उपयोग कर सकते हैं

यह मिश्रित डेटा (संख्यात्मक और श्रेणीबद्ध) को संभाल सकता है, आपको बस डेटा में फीड करने की आवश्यकता है, यह स्वचालित रूप से श्रेणीबद्ध और संख्यात्मक डेटा को अलग करता है।

यदि आप पाते हैं कि कुछ संख्यात्मक जैसे मुद्दे श्रेणीबद्ध हैं तो आप उस संबंधित क्षेत्र पर as.factor () / इसके विपरीत as.numeric () कर सकते हैं, और उस कारक में कनवर्ट कर सकते हैं और उस नए डेटा को एल्गोरिथ्म में फीड कर सकते हैं।

लैम्ब्डा की गणना करें, ताकि आप क्लस्टरिंग के समय इनपुट के रूप में फीड कर सकें।

हम एक WSS भी प्राप्त कर सकते हैं (वर्गों के योग के भीतर), प्लॉट (कोहनी चार्ट) क्लस्टर्स की इष्टतम संख्या का पता लगाने के लिए।

आशा है कि यह उत्तर आपको अधिक सार्थक परिणाम प्राप्त करने में मदद करेगा।


1

उपर्युक्त में से कई ने कहा कि k- साधनों को उन चर पर लागू किया जा सकता है जो स्पष्ट और निरंतर हैं, जो गलत है और परिणाम को एक चुटकी नमक के साथ लेने की आवश्यकता है।

जैसा कि ऊपर @Tim द्वारा उल्लेख किया गया है, यह उन बिंदुओं के बीच यूक्लिडियन दूरी की गणना करने का कोई मतलब नहीं है जिनके पास न तो कोई पैमाना है और न ही कोई आदेश है। जब आप वन-हॉट को श्रेणीबद्ध चर कहते हैं, तो आप 0 और 1 के विरल मैट्रिक्स उत्पन्न करते हैं। जैसे मानों की सीमा तय की जाती है और 0 और 1 के बीच उन्हें निरंतर चर की तरह सामान्यीकृत करने की आवश्यकता होती है। जेड-स्कोर का उपयोग अंकों के बीच की दूरी को खोजने के लिए किया जाता है। जो अभी भी है, पूरी तरह से सही नहीं है। मैं इसे एक उदाहरण से समझाऊंगा। चूंकि श्रेणियों को दो श्रेणियों के बीच की दूरी के अनुसार श्रेणीबद्ध चर के संबंध में विशेष रूप से अनन्य है, दो मानों को उच्च या निम्न लेता है, या तो दोनों बिंदु एक ही श्रेणी के हैं या वे नहीं हैं। इन चरम मूल्यों के कारण, क्लस्टर गठन को प्रभावित करने में निरंतर चर पर अधिक वजन देने के लिए एल्गोरिथ्म समाप्त होता है। यह एक साधारण जांच द्वारा सत्यापित किया जा सकता है कि कौन से चर प्रभावित कर रहे हैं और आपको यह देखकर आश्चर्य होगा कि उनमें से अधिकांश श्रेणीबद्ध चर होंगे। (सबसे प्रभावशाली चर खोजने के तरीके [1])

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

अंततः पायथन के लिए सबसे अच्छा विकल्प k- प्रोटोटाइप है जो श्रेणीबद्ध और निरंतर चर दोनों को संभाल सकता है।

[१]: क्लस्टर निर्माण में सबसे प्रभावशाली चर खोजना: https://stackoverflow.com/a/53081779/8224401


0

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

आप R पैकेज VarSelLCM (CRAN पर उपलब्ध) का उपयोग कर सकते हैं, जो प्रत्येक क्लस्टर के अंदर मॉडल, गाऊसी वितरण द्वारा निरंतर चर और क्रमिक / बाइनरी चर। अपने डेटा को data.frame में संग्रहीत करने का ध्यान रखें जहां निरंतर चर "संख्यात्मक" हैं और श्रेणीगत चर "कारक" हैं।

एक ट्यूटोरियल यहां उपलब्ध है: http://varsellcm.r-forge.r-project.org/

इसके अलावा, लापता मूल्यों को हाथ में मॉडल द्वारा प्रबंधित किया जा सकता है।


0

मैं बहुत ही समस्या में आया था और इसके चारों ओर अपना सिर काम करने की कोशिश की (के-प्रोटोटाइप्स को जाने बिना) समृद्ध साहित्य मैंने पाया कि मेरे स्वयं का सामना उसी दूरी मीट्रिक के साथ चर को मापने के विचार से नहीं हुआ। इसके अलावा अधिक जानकारी के विभिन्न स्रोत मौजूद हो सकते हैं, जो डेटा के अलग-अलग ढांचे या "दृश्य" हो सकते हैं। यह एक स्वाभाविक समस्या है, जब भी आप सामाजिक रिश्तों का सामना करते हैं जैसे कि ट्विटर / वेबसाइट आदि।

संभावित समाधानों में से एक चर के प्रत्येक सबसेट (यानी संख्यात्मक और श्रेणीबद्ध) को अलग से संबोधित करना है। यह आसानी से समझा जा सकता है कि संख्यात्मक मापक पर दूरी की माप क्या करती है। अपने आप ही स्पष्ट डेटा को आसानी से समझा जा सकता है: द्विआधारी अवलोकन वैक्टर होने पर विचार करें: दो अवलोकन वैक्टर के बीच 0/1 पर आकस्मिक तालिका में उन दो अवलोकनों के बीच अनुकरणीयता के बारे में बहुत सारी जानकारी होती है। बाइनरी वैक्टर पर विभिन्न अनुकूलित समानता उपायों पर समृद्ध साहित्य है - अधिकांश आकस्मिक तालिका से शुरू होते हैं।

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

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

एक मापनीयता के दृष्टिकोण से, मुख्य रूप से दो समस्याएं हैं:

  1. Eigen समस्या सन्निकटन (जहाँ एल्गोरिदम का एक समृद्ध साहित्य भी मौजूद है)
  2. दूरी मैट्रिक्स अनुमान (एक विशुद्ध रूप से दहनशील समस्या, जो बहुत तेज़ी से बढ़ती है - मुझे अभी तक इसके आसपास एक कुशल तरीका नहीं मिला है)

इसके साथ मजे करो!


0

आप स्वचालित सुविधा इंजीनियरिंग को देखना चाह सकते हैं: http://www.orges-leka.de/automatic_feature_engineering.html । विधि Bourgain एंबेडिंग पर आधारित है और इसका उपयोग मिश्रित श्रेणीबद्ध और संख्यात्मक डेटा फ़्रेमों से या दो डेटा बिंदुओं के बीच की दूरी का समर्थन करने वाले किसी भी डेटा सेट के लिए संख्यात्मक विशेषताओं को प्राप्त करने के लिए किया जा सकता है। डेटा को केवल संख्यात्मक विशेषताओं में रूपांतरित करने के बाद, कोई K- साधन क्लस्टरिंग का उपयोग कर सकता है

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