Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> प्रोग्रामिंग

निर्णय ट्री का निर्माण कैसे करें?

<घंटा/>

एक निर्णय वृक्ष एक प्रवाह-चार्ट-जैसी वृक्ष तंत्र है, जहां प्रत्येक आंतरिक नोड एक विशेषता पर एक परीक्षण इंगित करता है, प्रत्येक विभाग परीक्षण के परिणाम को परिभाषित करता है, और पत्ती नोड्स कक्षाओं या वर्ग वितरण का वर्णन करते हैं। पेड़ में सबसे बड़ा नोड रूट नोड होता है।

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

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

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

कम से कम विश्वसनीय विभागों को हटाने के लिए कई विधियां अक्सर सांख्यिकीय उपायों का उपयोग करती हैं, जिसके परिणामस्वरूप अक्सर तेजी से वर्गीकरण होता है और स्वतंत्र परीक्षण डेटा को सटीक रूप से वर्गीकृत करने के लिए पेड़ की क्षमता में वृद्धि होती है।

डिसीजन ट्री सीखने के लिए एल्गोरिदम

एल्गोरिदम - दी गई प्रशिक्षण जानकारी से निर्णय वृक्ष बनाएं।

इनपुट - असतत-मूल्यवान विशेषताओं द्वारा वर्णित प्रशिक्षण नमूने, नमूने; छात्रों की विशेषताओं का सेट, विशेषता-सूची।

आउटपुट - एक निर्णय वृक्ष।

विधि

  • नोड एन बनाएं;

  • यदि नमूने कुछ समान वर्ग के हैं, तो C इसलिए

  • एन को क्लास सी के साथ लेबल किए गए लीफ नोड के रूप में लौटाएं

  • यदि विशेषता-सूची शून्य है तो

  • नमूनों में सबसे लगातार वर्ग के साथ लेबल किए गए लीफ नोड के रूप में एन लौटाएं। // बहुमत मतदान

  • सबसे अधिक जानकारी प्राप्त करने वाली विशेषता-सूची के बीच की विशेषता, परीक्षण-विशेषता चुनें।

  • परीक्षण विशेषता के साथ लेबल नोड एन।

  • प्रत्येक ज्ञात मान के लिए एकi परीक्षण-विशेषता का // नमूनों को विभाजित करें।

  • स्थिति के लिए नोड N से एक शाखा विकसित करें test-attribute=ai

  • चलोi नमूनों में नमूनों का सेट हो जिसके लिए परीक्षण-विशेषता =ai

  • अगर si तब खाली है

  • इसे नमूने में सबसे आम वर्ग के साथ लेबल किए गए पत्ते से जोड़ा जा सकता है।

  • अन्यथा जनरेट डिसीजन ट्री द्वारा लौटाए गए नोड को संलग्न करें ( si , विशेषता-सूची - परीक्षण-विशेषता)


  1. JavaFX में टेक्स्ट नोड कैसे बनाएं?

    JavaFX में, टेक्स्ट नोड को javafx.scene.text.Text द्वारा दर्शाया जाता है। कक्षा। आप इस क्लास को इंस्टेंट करके JavaFX विंडो में टेक्स्ट जोड़ सकते हैं। टेक्स्ट नोड के मूल गुण निम्नलिखित हैं - X - यह गुण पाठ के x निर्देशांक का प्रतिनिधित्व करता है। आप setX() . का उपयोग करके इस संपत्ति के लिए मूल्य

  1. पायथन में बाइनरी ट्री से स्ट्रिंग का निर्माण

    मान लीजिए कि हमारे पास एक बाइनरी ट्री है जिसे हमें एक स्ट्रिंग बनाना है जिसमें प्रीऑर्डर ट्रैवर्सिंग तरीके से एक बाइनरी ट्री से कोष्ठक और पूर्णांक होते हैं। एक अशक्त नोड को खालीपैरेंटेसिस जोड़ी () द्वारा दर्शाया जाएगा। और हमें उन सभी खाली कोष्ठक युग्मों को छोड़ना होगा जो स्ट्रिंग और मूल बाइनरी ट्री

  1. पायथन में प्रीऑर्डर और पोस्टऑर्डर ट्रैवर्सल से बाइनरी ट्री का निर्माण करें

    मान लीजिए कि हमारे पास दो ट्रैवर्सल अनुक्रम हैं प्रीऑर्डर और पोस्टऑर्डर, हमें इन दो अनुक्रमों से बाइनरी ट्री उत्पन्न करना है। तो अगर अनुक्रम [1,2,4,5,3,6,7], [4,5,2,6,7,3,1] हैं, तो आउटपुट होगा इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - उत्तर:=पूर्व [0] मान लेकर एक ट्री नोड बनाएं, स्टैक:=ख