क्या कोई निर्णय-वृक्ष की तरह एल्गोरिथ्म अप्रमाणित क्लस्टरिंग के लिए है?


20

मेरे पास एक डेटासेट है जिसमें 5 विशेषताएं हैं: ए, बी, सी, डी, ई। वे सभी संख्यात्मक मूल्य हैं। घनत्व-आधारित क्लस्टरिंग करने के बजाय, मैं जो करना चाहता हूं वह डेटा को निर्णय-ट्री-जैसे तरीके से क्लस्टर करना है।

मेरा मतलब है कि दृष्टिकोण कुछ इस तरह है:

एल्गोरिथ्म डेटा को सुविधा C के आधार पर X प्रारंभिक क्लस्टर में विभाजित कर सकता है, अर्थात X क्लस्टर में छोटे C, मध्यम C, बड़े C और बहुत बड़े C मान आदि हो सकते हैं। अगला, प्रत्येक X क्लस्टर नोड्स के तहत, एल्गोरिथ्म आगे विभाजित करता है। सुविधा ए पर एल्गोरिदम में डेटा ए। एल्गोरिथ्म जारी है जब तक कि सभी सुविधाओं का उपयोग नहीं किया जाता है।

जो एल्गोरिथ्म मैंने ऊपर वर्णित किया है वह एक निर्णय-पेड़ एल्गोरिथ्म की तरह है। लेकिन मुझे इसकी निगरानी पर्यवेक्षित वर्गीकरण के बजाय अप्रकाशित क्लस्टरिंग के लिए चाहिए।

मेरे प्रश्न निम्नलिखित हैं:

  1. क्या ऐसे एल्गोरिदम पहले से मौजूद हैं? ऐसे एल्गोरिथ्म का सही नाम क्या है
  2. क्या कोई आर / अजगर पैकेज / पुस्तकालय है जिसमें इस तरह के एल्गोरिदम का कार्यान्वयन है?

3
But I need it for unsupervised clustering, instead of supervised classificationयह कुंजी वाक्यांश बहुत संक्षिप्त है और स्पष्ट रूप से यह स्पष्ट नहीं करता है कि आप क्या चाहते हैं। इसके ऊपर आपने वर्णन किया कि मुझे एक निर्णय वृक्ष लगता है। क्या आप अब अपने इच्छित अहंकार के बारे में एक समान मार्ग दे सकते हैं?
ttnphns 15:11 पर

1
@ttnphns हाय, जैसा कि आप जानते हैं, निर्णय वृक्ष एक पर्यवेक्षित विधि है। आप प्रत्येक सुविधा वेक्टर को Class1 या Class2 के रूप में लेबल करते हैं। एल्गोरिथ्म ज्ञात लेबल के आधार पर प्रत्येक सुविधा के लिए सीमा निर्धारित करता है। हालाँकि, मैं एक समस्या का सामना कर रहा हूँ। मैं प्रत्येक फीचर वेक्टर के सही लेबल नहीं जानता। मैं एक एल्गोरिथ्म ढूंढना चाहता हूं जो स्वचालित रूप से प्रत्येक सुविधा के लिए सीमा निर्धारित करता है ताकि एक पेड़ का निर्माण किया जा सके। इस तरह, परिणामी क्लस्टरिंग को आसानी से उदाहरण के तौर पर समझा जा सकता है जैसे कि क्लस्टर 1: हाई ए-लो बी- मीडियम सी- हाई डी - लो ई, क्लस्टर 2 को लो ए - हाई बी- मीडियम सी- मीडियम डी - लो ई।
नान

बहुत अच्छी तरह से आप समझ नहीं रहे हैं। CHAIDउदाहरण के लिए, पेड़ ले लो । आपको निर्भर चर चुनना होगा। इसे ए रहने दें। एल्गोरिथ्म बी, सी, डी, ई के बीच का चयन करता है, चर ए और बीन्स के साथ सबसे अधिक सहसंबंधित है (चर, यह, भविष्यवक्ता, डी) को दो या अधिक श्रेणियों में "आशावादी" कहा जाता है - ताकि सहसंबंध (श्रेणीबद्ध चर D और चर A के बीच अधिकतम है। मान लीजिए, इसने 3 समूहों, D1, D2, D3 को छोड़ दिया। अगला, D की प्रत्येक श्रेणी (समूह) के अंदर एक ही प्रक्रिया को दोहराया जाता है, और B, C के बीच सबसे अच्छा भविष्यवक्ता। , ई को इसे कम करने के लिए देखा जाता है। आदि। वास्तव में आपको यहाँ क्या पसंद नहीं है?
ttnphns

2
@ttnphns मुझे अभी यह पेपर मिला है, मुझे लगता है कि उन्होंने वही किया जो मेरा मतलब है। ftp.cse.buffalo.edu/users/azhang/disc/disc01/cd1/out/papers/…
nan

1
@ ज्ञान क्या आपने ऐसे पेड़ों का कोई क्रियान्वयन पाया है? वे लेख में कोड का कोई लिंक प्रदान नहीं करते हैं
Alleo

जवाबों:


12

आप निम्नलिखित दृष्टिकोण पर विचार करना चाह सकते हैं:

  • किसी भी क्लस्टरिंग एल्गोरिथ्म का उपयोग करें जो आपके डेटा के लिए पर्याप्त है
  • परिणामी क्लस्टर वर्ग हैं मान लें
  • क्लस्टर पर एक निर्णय पेड़ को प्रशिक्षित करें

यह आपको अलग-अलग क्लस्टरिंग एल्गोरिदम की कोशिश करने की अनुमति देगा, लेकिन आपको उनमें से प्रत्येक के लिए एक निर्णय ट्री सन्निकटन मिलेगा।


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

क्या आप मुझे एक कागज की ओर इशारा कर सकते हैं जो इस रणनीति पर चर्चा करता है?
nCessity

2

मन में आने वाला पहला पेपर यह है: क्लस्टरिंग वाया डिसीजन ट्री कंस्ट्रक्शन https://pdfs.semanticscholar.org/8996/148e8f0b34308e2d22f78ff89bf1f538d1d6.pdf

जैसा कि एक और उल्लेख किया गया है, "पदानुक्रमित" (ऊपर नीचे) और "पदानुक्रमित ढेर" (नीचे ऊपर) दोनों अच्छी तरह से ज्ञात तकनीक हैं जो पेड़ों का उपयोग करके क्लस्टरिंग करते हैं। स्कैपी के पास यह है।

यदि आप कस्टम कोड के साथ ठीक हैं क्योंकि मुझे किसी लाइब्रेरी का पता नहीं है, तो दो तकनीकें हैं जिनकी मैं सिफारिश कर सकता हूं। चेतावनी दी है कि ये मैकेनिक की वजह से तकनीकी रूप से मजबूत नहीं हैं, जिस पर वे भरोसा करते हैं। आप इसे छद्म क्लस्टरिंग कह सकते हैं।

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

2) # 1 का उपयोग करते हुए सेमीसुपराइज्ड (एक प्रकार का अप्रमाणित, लेकिन यंत्रवत् पर्यवेक्षणीय), आप पेड़ों को छोड़ने की कोशिश कर सकते हैं। यदि स्कीमा [ए, बी, सी] है, तो 3 मॉडल बनाएं [ए, बी] -> सी, [ए, सी] -> बी, [बी, सी] -> ए। आपको केएन क्लस्टर्स मिलते हैं (नीचे देखें)। एन = LEN (स्कीमा)। यदि इनमें से कुछ विशेषताएं दिलचस्प या बहुत असंतुलित नहीं हैं (श्रेणियों के मामले में), तो उन्हें लक्ष्य के रूप में उपयोग न करें।

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

पेशेवरों: समझने और समझाने में आसान, त्वरित प्रशिक्षण और अनुमान, कुछ मजबूत विशेषताओं के साथ अच्छी तरह से काम करता है, श्रेणियों के साथ काम करता है। जब आपकी सुविधाएँ सार विषम में होती हैं और आपके पास कई सुविधाएँ होती हैं, तो आपको यह तय करने में अधिक समय नहीं देना होता है कि दूरी के कार्य में किसका उपयोग किया जाए।

विपक्ष: मानक नहीं, लिखा जाना चाहिए, भोले पूर्वाग्रह, लक्ष्य के साथ सामंजस्य खराब परिणाम का कारण बनता है, 1000 समान रूप से महत्वपूर्ण विशेषताएं अच्छी तरह से काम नहीं करेंगी (यूक्लिडियन दूरी के साथ केमियां यहां बेहतर है)।

आपको कितने क्लस्टर मिलते हैं? आपको बहुत अधिक नहीं बढ़ने के लिए, डीटी मॉडल को बिल्कुल प्रतिबंधित करना चाहिए। उदाहरण के लिए प्रति मिनट न्यूनतम नमूने सेट करें, अधिकतम पत्ती नोड्स (पसंदीदा), या अधिकतम गहराई। वैकल्पिक रूप से, शुद्धता या एन्ट्रापी बाधाओं को निर्धारित करें। आपको यह जाँचना होगा कि इसने आपको कितने क्लस्टर दिए और मूल्यांकन किया कि क्या यह विधि वास्तविक क्लस्टरिंग से बेहतर है।

क्या तकनीकों और मापदंडों ने आपके लिए अच्छा काम किया? कौन सा सबसे अच्छा था? यह पता लगाने के लिए, आपको क्लस्टर मूल्यांकन करने की आवश्यकता है: प्रदर्शन के मैट्रिक्स का अप्रमाणित शिक्षण का मूल्यांकन करना


2

आप जो देख रहे हैं वह एक विभाजनकारी क्लस्टरिंग एल्गोरिथम है।

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

निर्णय के पेड़ की तरह दिखने की इच्छा विकल्पों को सीमित करती है क्योंकि अधिकांश एल्गोरिदम एक समय में एक चर को विभाजित करने के बजाय पूर्ण डेटा स्थान के भीतर दूरी पर संचालित होते हैं।

डायना एकमात्र विभाजनकारी क्लस्टरिंग एल्गोरिथ्म है जिसे मैं जानता हूं, और मुझे लगता है कि यह एक निर्णय वृक्ष की तरह संरचित है। मैं आश्चर्यचकित रह जाता अगर वहाँ अन्य लोग नहीं होते।

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


0

विचार करने के लिए एक विचार है मान लीजिए कि आपके पास k विशेषताएँ और n अंक हैं। आप (k-1) फ़ीचर और एक आश्रित चर के रूप में 1 सुविधा का उपयोग करके यादृच्छिक पेड़ बना सकते हैं। Y. आप एक ऊंचाई h का चयन कर सकते हैं जिसके बाद आपके पास जड़ों में डेटा बिंदु होंगे। आप विभिन्न प्रकार के पेड़ों की वोटिंग कर सकते हैं। सिर्फ एक विचार।

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