बहु-स्तरीय / श्रेणीबद्ध-संरचित डेटा पर यादृच्छिक वन


13

मैं मशीन लर्निंग, कार्ट-तकनीक और पसंद करने के लिए काफी नया हूं, और मुझे उम्मीद है कि मेरा भोलापन बहुत स्पष्ट नहीं है।

रैंडम फ़ॉरेस्ट मल्टी-लेवल / पदानुक्रमित डेटा संरचनाओं को कैसे संभालता है (उदाहरण के लिए जब क्रॉस-लेवल इंटरेक्शन रुचि का हो)?

यही है, डेटा कई पदानुक्रमित स्तरों पर विश्लेषण की इकाइयों के साथ सेट करता है ( जैसे , छात्रों को स्कूलों के भीतर नेस्टेड, छात्रों और स्कूलों दोनों के बारे में डेटा के साथ)।

एक उदाहरण के रूप में, पहले स्तर पर व्यक्तियों के साथ एक बहु-स्तरीय डेटा सेट पर विचार करें ( जैसे , मतदान व्यवहार, जनसांख्यिकी आदि पर डेटा के साथ) दूसरे स्तर पर देशों के भीतर (देश-स्तरीय डेटा के साथ; उदाहरण के लिए , जनसंख्या):

ID voted age female country population
1 1 19 1 1 53.01
2 1 23 0 1 53.01
3 0 43 1 1 53.01
4 1 27 1 1 53.01
5 0 67 0 1 53.01
6 1 34 1 2 47.54
7 0 54 1 2 47.54
8 0 22 1 2 47.54
9 0 78 0 2 47.54
10 1 52 0 2 47.54

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

प्रश्न: क्या रैंडम फ़ॉरेस्ट इस प्रकार की डेटा संरचना को स्पष्ट रूप से संभाल सकता है? यदि इसका उपयोग किया जाता है, तो यह किस तरह के पूर्वाग्रह का परिचय देता है? यदि रैंडम फ़ॉरेस्ट उपयुक्त नहीं है, तो क्या कोई अन्य पहनावा-प्रकार विधि है?

(प्रश्न समूहीकृत डेटा पर रैंडम वन शायद समान है, लेकिन वास्तव में इसका जवाब नहीं है।)


Hi @MikaelAndersson, क्या आपके द्वारा उठाए गए प्रश्नों का हल मिला? मैं एक समान स्थिति का सामना कर रहा हूं और आपके अनुभव को सुनने की आशा करता हूं। धन्यवाद।
NoviceProg

जवाबों:


4

रैंडम फ़ॉरेस्ट ठीक काम करेगा, लेकिन आपको हाइपरपैमेटर्स ट्यून करते समय बहुत सावधान रहना होगा (खासकर यदि आप सामान्यीकरण प्रदर्शन का यथार्थवादी माप चाहते हैं)। पारंपरिक OOB त्रुटि का अनुमान आपके डेटा में व्यापक "ट्विनिंग" होने के बाद से आशावादी होगा।

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

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


क्या आप इस बात पर थोड़ा विस्तार कर सकते हैं कि OOB त्रुटि अनुमान बहुत अधिक आशावादी क्यों होगा?
dmartin

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

3

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

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

वोटों का गुणात्मक अनुपात एक नियमित randomForest द्वारा उत्पादित वोटों के अनुपात के बराबर है


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

ध्यान दें, आपका उपयोगकर्ता नाम, आपके उपयोगकर्ता पृष्ठ का लिंक, स्वचालित रूप से आपके द्वारा यहां पोस्ट की गई प्रत्येक पोस्ट से जुड़ा हुआ है। तो अपने पदों पर हस्ताक्षर करने की कोई आवश्यकता नहीं है - वास्तव में, हम आपको पसंद नहीं करते हैं। यदि आप चाहते हैं कि लोग आपसे संपर्क करने में सक्षम हों, तो आप अपने उपयोगकर्ता पृष्ठ पर एक विधि (जैसे, अपना ईमेल पता) पोस्ट कर सकते हैं।
गंग - मोनिका

यह बहुत अच्छा है, धन्यवाद @YoniGavish। अपना उत्तर संपादित क्यों न करें और उसमें वह जानकारी जोड़ें?
गूँग - मोनिका

क्या यह बेहतर @gung है?
योनी गविश

हाँ, वह ऐसा करेगा, @YoniGavish, +1। साइट पर आपका स्वागत है।
गूँग - मोनिका

3

एकल वर्गीकरण ट्री में, इन समूहों को किसी अन्य श्रेणीगत चर के समान कोडित किया जाता है। यह अक्सर बाइनरी कोडिंग के रूप में या केवल एक पूर्णांक का उपयोग करके किया जाता है। या तो उपयोग करने के लिए अलग-अलग तर्क हैं। यादृच्छिक जंगलों में यदि आप बाइनरी कोडिंग का उपयोग कर रहे हैं, तो कुछ समूहों को किसी भी पेड़ के लिए शामिल / शामिल नहीं किया जाएगा। तो आपके पास इसके लिए एक संकेतक हो सकता है country_2लेकिन नहीं country_3। यदि आप समूह चर को पूर्णांक के रूप में छोड़ते हैं तो आदेश परिणाम को भी प्रभावित कर सकता है। इसके लिए क्या मतलब है country > 5और country < 12? यदि आप नए पूर्णांक वाले देशों को फिर से लेबल करते हैं तो यह कैसे बदलता है?

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

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

आपके मामले में, countryऔर populationपूरी तरह से मेल खाते हैं। आपके मॉडल में दोनों चर का उपयोग करके प्राप्त की गई कोई जानकारी नहीं है। तो आप इस बारे में सोच सकते हैं कि कैसे एक यादृच्छिक वन मॉडल आपके डेटा में इन चर का इलाज करेगा।

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