रैंडम फ़ॉरेस्ट के साथ फ़ीचर चयन


17

मेरे पास ज्यादातर वित्तीय चर (120 विशेषताएं, 4k उदाहरण) के साथ एक डेटासेट है जो ज्यादातर अत्यधिक सहसंबद्ध और बहुत शोर (तकनीकी संकेतक, उदाहरण के लिए) हैं, इसलिए मैं मॉडल प्रशिक्षण (बाइनरी वर्गीकरण) के साथ अधिकतम 20-30 के बारे में चयन करना चाहूंगा - वृद्धि कमी)।

मैं फीचर रैंकिंग के लिए यादृच्छिक जंगलों का उपयोग करने के बारे में सोच रहा था। क्या उन्हें पुनरावर्ती उपयोग करना एक अच्छा विचार है? उदाहरण के लिए, मान लें कि पहले दौर में मैं सबसे खराब 20% गिराता हूं, दूसरा भी और जब तक मुझे वांछित संख्या नहीं मिलती। क्या मुझे आरएफ के साथ क्रॉस-मान्यता का उपयोग करना चाहिए? (यह मेरे लिए सहज है कि सीवी का उपयोग न करें क्योंकि यह बहुत ज्यादा है जो आरएफ पहले से ही करता है।)

इसके अलावा, अगर मैं यादृच्छिक जंगलों के साथ जाता हूं, तो क्या मुझे आयात बढ़ाने के लिए वास्तविक वृद्धि / कमी के लिए उन्हें बाइनरी या रेजिस्टर के रूप में वर्गीकृत करना चाहिए?

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


2
एक्सचेंज इनसाइट्स से जुड़ना चाहेंगे। मैं कुछ इसी तरह से काम कर रहा
हूं

वहाँ किसी भी कारण है कि कोई भी बस का उपयोग करने का सुझाव दिया है built-inकी विशेषता RandomForestClassifier में sklearnकहा जाता है feature_importances_....? आप इसे लिंक में देखेंगे।
Candic3

खबरदार क्योंकि multicollinearityसुविधा आयात और सुविधा चयन विकृत कर सकते हैं। इसे यहाँ देखें
कैंडिक

: डिफ़ॉल्ट एल्गोरिदम से सावधान रहें parrt.cs.usfca.edu/doc/rf-importance/index.html
टिम

जवाबों:


13

सुविधा चयन के लिए, हमें स्कोरिंग फ़ंक्शन को अनुकूलित करने के लिए एक स्कोरिंग फ़ंक्शन के साथ-साथ एक खोज विधि की आवश्यकता होती है।

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

सारांश:

Step1 : यदि सुविधा X2 25% पेड़ों में दिखाई देती है, तो, इसे स्कोर करें। अन्यथा, सुविधा की रैंकिंग पर विचार न करें क्योंकि हमारे पास इसके प्रदर्शन के बारे में पर्याप्त जानकारी नहीं है

चरण 2 : अब, प्रत्येक पेड़ के प्रदर्शन स्कोर को असाइन करें जिसमें X2 X2 पर दिखाई देता है और स्कोर को औसत करता है। उदाहरण के लिए: perf (Tree1) = 0.85 perf (Tree2) = 0.70 perf (Tree3) = 0.30

फिर, सुविधा X2 = (0.85 + 0.70 + 0.30) / 3 = 0.6167 का महत्व

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

खोज विधि के बारे में , आपका पुनरावर्ती तरीका शीर्ष रैंक वाले का चयन करने के तरीके के रूप में उचित लगता है।

अंत में, आप RF को एक क्लासिफायर या एक प्रतिगमन मॉडल के रूप में अपनी सुविधाओं का चयन करने में उपयोग कर सकते हैं क्योंकि दोनों ही आपको एक प्रदर्शन स्कोर प्रदान करेंगे। स्कोर सांकेतिक है क्योंकि यह आउट-ऑफ-बैग ओओबी नमूनों पर आधारित है और आप एक सरल सेटिंग में क्रॉस-वैलिडेशन पर विचार नहीं कर सकते हैं।


इनपुट के लिए धन्यवाद। को इंगित करना चाहता था (0.85+0.70+0.30)/3 = 0.6167
हेंडी

5
यदि आप अजगर के साथ काम कर रहे हैं, तो आप रैंडम फ़ॉरेस्ट को कॉल करते समय सीधे स्केलेर में गणना किए गए चर महत्व का उपयोग कर सकते हैं।
स्क्रैच करें

5

मेरे पास ज्यादातर वित्तीय चर (120 विशेषताएं, 4k उदाहरण) के साथ एक डेटासेट है जो ज्यादातर अत्यधिक सहसंबद्ध और बहुत शोर (तकनीकी संकेतक, उदाहरण के लिए) हैं, इसलिए मैं मॉडल प्रशिक्षण (बाइनरी वर्गीकरण) के साथ अधिकतम 20-30 के बारे में चयन करना चाहूंगा - वृद्धि कमी)।

4k उदाहरण वास्तव में बहुत परिष्कृत कुछ भी अनुमान लगाने के लिए पर्याप्त नहीं है - आपको सबसे सरल संभव मॉडल (रैखिक / लॉजिस्टिक प्रतिगमन, रैखिक svm) और छोटी संख्या में चर का उपयोग करने की आवश्यकता है

यह देखते हुए कि आपका डेटा शोर और सहसंबद्ध है, पीसीए शायद आपका सबसे अच्छा दांव है [यह व्यक्तिगत संकेतकों पर औसत संकेतों की प्रभावी रूप से पहचान कर रहा है]

L2 नियमितीकरण (एक रेखीय मॉडल के लिए) शोर को बाहर निकालने में भी मदद करेगा [उदाहरण के लिए यदि आपके पास एक ही संकेत की एन शोर की प्रतियां हैं, तो L2 नियमितीकरण भार को समान करने के लिए प्रोत्साहित करेगा - उन n चर से औसत]

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