एक निर्णय वृक्ष एक फ्लो-चार्ट जैसा वृक्ष तंत्र है, जहां प्रत्येक आंतरिक नोड एक विशेषता पर एक परीक्षण इंगित करता है, प्रत्येक शाखा परीक्षण के परिणाम को परिभाषित करती है, और पत्ती नोड कक्षाओं या कक्षा वितरण का वर्णन करते हैं। एक वृक्ष में सबसे बड़ा नोड रूट नोड होता है।
निर्णय वृक्ष बनाने के मुद्दों को पुनरावर्ती रूप से परिभाषित किया जा सकता है। पहले, रूट नोड पर रखने के लिए एक विशेषता का चयन करें, और प्रत्येक संभावित मूल्य के लिए एक शाखा बनाएं। यह उदाहरण सेट को उपसमुच्चय में विभाजित करता है, प्रत्येक विशेषता के मूल्य के लिए एक। प्रक्रिया को प्रत्येक शाखा के लिए पुनरावर्ती रूप से दोहराया जा सकता है, केवल उन उदाहरणों का उपयोग करके जो शाखा तक पहुंचते हैं। यदि किसी नोड पर कुछ उदाहरणों का समान वर्गीकरण है, तो उस तत्व का निर्माण बंद करें।
पवित्रता का माप जिसे हम उपयोग करेंगे उसे सूचना कहा जाता है और इसे बिट्स नामक इकाइयों में मापा जाता है। वृक्ष के प्रत्येक नोड से जुड़ा, यह उस अपेक्षित सूचना की मात्रा को दर्शाता है जो यह निर्दिष्ट करने के लिए आवश्यक होगी कि क्या एक नए उदाहरण को हां या नहीं के रूप में वर्गीकृत किया जाना चाहिए, यह देखते हुए कि उदाहरण उस नोड तक पहुंचे।
प्रूनिंग वह प्रक्रिया है जो निर्णय वृक्षों के आकार को कम करती है। इसका उपयोग वृक्ष के आकार का वर्णन करके या वृक्ष के उन क्षेत्रों को हटाकर ओवरफिटिंग के जोखिम को कम करने के लिए किया जाता है जो कम शक्ति प्रदान करते हैं। प्रूनिंग उन शाखाओं को ट्रिम करके प्रदान करती है जो शोर या आउटलेर के कारण प्रशिक्षण डेटा में विसंगतियों का पालन करती हैं और प्रारंभिक वृक्ष को एक ऐसी विधि में प्रदान करती हैं जो वृक्ष की सामान्यीकरण प्रभावशीलता में सुधार करती है।
कई विधियां अक्सर कम से कम विश्वसनीय शाखाओं को हटाने के लिए सांख्यिकीय उपायों का उपयोग करती हैं, जिसके परिणामस्वरूप अक्सर तेजी से वर्गीकरण और स्वतंत्र परीक्षण डेटा को सटीक रूप से वर्गीकृत करने की वृक्ष की क्षमता में वृद्धि होती है।
निर्णय वृक्ष सीखने के लिए एल्गोरिदम
एल्गोरिदम - दिए गए प्रशिक्षण जानकारी से एक निर्णय वृक्ष बनाएं।
इनपुट - प्रशिक्षण नमूने, नमूने, असतत-मूल्यवान विशेषताओं द्वारा वर्णित; छात्र विशेषताओं का समूह, विशेषता-सूची।
आउटपुट - एक निर्णय वृक्ष।
विधि
एक नोड N बनाएं;
यदि नमूने कुछ समान कक्षा C के हैं तो
कक्षा C के साथ लेबल किए गए पत्ती नोड के रूप में N लौटाएं
यदि विशेषता-सूची शून्य है तो
नमूनों में सबसे अधिक बार आने वाली कक्षा के साथ लेबल किए गए पत्ती नोड के रूप में N लौटाएं। // बहुमत मतदान
टेस्ट-विशेषता चुनें, विशेषता-सूची में सबसे बड़े सूचना लाभ वाली विशेषता।
नोड N को टेस्ट विशेषता के साथ लेबल करें।
टेस्ट-विशेषता के प्रत्येक ज्ञात मूल्य ai के लिए // नमूनों को विभाजित करें।
शर्त टेस्ट-विशेषता = ai के लिए नोड N से एक शाखा विकसित करें।
si को नमूनों में नमूनों का समूह होने दें जिनके लिए टेस्ट-विशेषता = ai।
यदि si खाली है तो
इसे नमूनों में सबसे आम कक्षा के साथ लेबल किए गए पत्ती से जोड़ा जा सकता है।
अन्यथा Generate decision tree (si, विशेषता-सूची - टेस्ट-विशेषता) द्वारा लौटाए गए नोड को संलग्न करें