फीचर इम्पोर्टेंस के संदर्भ में डिसिजन ट्री की व्याख्या करना


9

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

फ़ीचर रैंकिंग: 1. फ़ीचर (0.300237)

  1. फ़ीचरबी (0.166800)

  2. फ़ीचरसी (0.092472)

  3. फ़ीचरडी (0.075009)

  4. फ़ीचर (0.068310)

  5. फ़ीचरएफ (0.067118)

  6. फ़ीचरजी (0.066510)

  7. फ़ीचरएच (0.043502)

  8. फ़ीचर (0.040281)

  9. फ़ीचरज (0.039006)

  10. फ़ीचरके (0.032618)

  11. फ़ीचरएल (0.008136)

  12. फ़ीचरएम (0.000000)

हालाँकि, जब मैं पेड़ के ऊपर देखता हूँ, तो ऐसा दिखता है:ट्री स्निपेट

वास्तव में, कुछ विशेषताएं जो "सबसे महत्वपूर्ण" रैंक की जाती हैं, वे पेड़ से बहुत नीचे तक दिखाई नहीं देती हैं, और पेड़ की चोटी फीचरजे है जो सबसे कम रैंक वाली सुविधाओं में से एक है। मेरी भोली धारणा यह होगी कि सबसे महत्वपूर्ण विशेषताओं को पेड़ के शीर्ष के पास सबसे बड़ा प्रभाव पड़ेगा। यदि यह गलत है, तो वह क्या है जो एक विशेषता को "महत्वपूर्ण" बनाता है?


1
कितने नमूने पहले नोड के बाईं और दाईं ओर असाइन किए जाते हैं?
oW_

जवाबों:


4

यह आवश्यक नहीं है कि एक विशेषता जितनी अधिक महत्वपूर्ण हो उतनी ही अधिक मात्रा में इसका निर्णय वृक्ष पर हो।

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

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

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


पहले से ही @oW_ ने मूल प्रश्न का सही उत्तर दिया है, लेकिन मुझे लगा कि पाठक के लिए इसे अधिक संक्षिप्त और आकर्षक तरीके से लिखना अच्छा है।
निर्वासित

3

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

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


2

सिर्फ इसलिए कि पेड़ पर एक नोड कम है इसका मतलब यह नहीं है कि यह कम महत्वपूर्ण नहीं है। Sci-kitlearn में फ़ीचर महत्व की गणना इस बात से की जाती है कि विशुद्ध रूप से एक नोड कक्षाओं को कैसे अलग करता है (Gini index)। आप अपने फसली पेड़ में भी नोटिस करेंगे कि A, J के एक बार की तुलना में तीन बार विभाजित है और एंट्रोपी स्कोर (Gini के रूप में शुद्धता का एक समान माप) J की तुलना में A नोड में कुछ अधिक है।

हालाँकि, यदि आप केवल एक नोड का चयन कर सकते हैं तो आप J का चयन करेंगे क्योंकि इससे सबसे अच्छी भविष्यवाणियाँ होंगी। लेकिन अगर आपके पास कई अलग-अलग निर्णय लेने के लिए कई नोड्स होने का विकल्प था तो ए सबसे अच्छा विकल्प होगा।


इसलिए आम आदमी की शर्तों में, केवल 2 संभावित वर्गीकरण हैं (चलो उन्हें 0 और 1 कहते हैं), पेड़ के आधार पर सुविधा वह होगी जो नमूनों को 2 समूहों में विभाजित करती है (यानी विभाजन का सबसे अच्छा काम पेड़ के एक तरफ 1 और दूसरे में 0)। क्या यह सही है? मैं अभी भी पूरी तरह से स्पष्ट नहीं हूं कि क्या विशेषता महत्व रैंकिंग है यदि यह इस संदर्भ में 0 और 1s को अलग करने में सबसे अच्छा नहीं है
टिम लिंडसे

-2

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

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

चर चयन के लिए परिवर्तनीय महत्व एक बेहतर उपाय है।


2
मुझे नहीं लगता है कि इसे कैसे सीखा जाता है। वहां, विशेषता महत्व को "गिनी महत्व" के रूप में मापा जाता है, अर्थात उस नोड तक पहुंचने वाले नमूनों के अनुपात से भारित अशुद्धता में कुल कमी।
oW_

"किसी विशेषता के महत्व की गणना उस विशेषता द्वारा लाई गई मानदंड की कुल कमी (सामान्यीकृत) के रूप में की जाती है। इसे जिनी महत्व के रूप में भी जाना जाता है।" - scikit-learn.org/stable/modules/generated/…
Afflatus
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.