डिसीजन ट्री रैंडम फॉरेस्ट एल्गोरिदम का मूल निर्माण खंड है। इसे मशीन लर्निंग में सबसे लोकप्रिय एल्गोरिदम में से एक माना जाता है और इसका उपयोग वर्गीकरण उद्देश्यों के लिए किया जाता है। डिसीजन ट्री द्वारा दिया गया निर्णय यह समझाने के लिए उपयोग किया जा सकता है कि एक निश्चित भविष्यवाणी क्यों की गई थी। इसका मतलब है कि प्रक्रिया के इनपुट और आउटपुट उपयोगकर्ता के लिए स्पष्ट होंगे। इन्हें CART के रूप में भी जाना जाता है, यानी क्लासिफिकेशन एंड रिग्रेशन ट्री। इसे बाइनरी ट्री (डेटा स्ट्रक्चर और एल्गोरिदम में अध्ययन किया गया) के रूप में देखा जा सकता है।
ट्री में प्रत्येक नोड एक इनपुट वेरिएबल को दर्शाता है, और लीफ नोड्स (जिन्हें टर्मिनल नोड्स भी कहा जाता है) में आउटपुट वेरिएबल होता है। इन लीफ नोड्स का उपयोग नोड पर भविष्यवाणी करने के लिए किया जाता है। जब एक डिसीजन ट्री बनाया जा रहा होता है, तो मूल विचार यह है कि दिए गए स्थान को कई खंडों में विभाजित किया जा रहा है। सभी मानों को रखा जाता है और कम लागत और सर्वोत्तम भविष्यवाणी मूल्यों को प्राप्त करने के लिए विभिन्न विभाजन का प्रयास किया जाता है। इन मूल्यों को लालची तरीके से चुना जाता है।
इन नोड्स का विभाजन तब तक चलता है जब तक ट्री की अधिकतम गहराई नहीं पहुंच जाती। डिसीजन ट्री का उपयोग करने के पीछे विचार इनपुट डेटासेट को विशिष्ट फीचर वैल्यू के आधार पर छोटे डेटासेट में विभाजित करना है जब तक कि हर टारगेट वेरिएबल एक ही श्रेणी में न आ जाए। यह विभाजन हर चरण के लिए अधिकतम सूचना लाभ प्राप्त करने के लिए किया जाता है।
हर डिसीजन ट्री एक रूट से शुरू होता है, और यह वह स्थान है जहां पहला विभाजन किया जाता है। यह सुनिश्चित करने के लिए एक कुशल तरीका तैयार किया जाना चाहिए कि नोड्स परिभाषित हों।
यहीं पर जिनी वैल्यू तस्वीर में आती है। जिनी को असमानता को मापने के लिए सबसे अधिक उपयोग किए जाने वाले मापों में से एक माना जाता है। असमानता टारगेट क्लास (आउटपुट) को संदर्भित करती है जिससे एक नोड में प्रत्येक सबसेट संबंधित हो सकता है।
DecisionTreeRegressor का उपयोग करते समय नीचे दिए गए सिंटैक्स का उपयोग किया जाता है -
class sklearn.tree.DecisionTreeRegressor (*, criterion='mse',...)
आइए समझते हैं कि DecisionTreeRegressor का उपयोग कैसे किया जा सकता है -
उदाहरण
from sklearn import tree
my_data = [[1, 1], [5, 5], [2,3], [7,11]]
target_vals = [0.1, 1.5, 0.75, 1.73]
clf = tree.DecisionTreeRegressor()
print("डिसीजन ट्री रिग्रेसर को कॉल किया गया है")
DTreg = clf.fit(my_data, target_vals)
print("डेटा फिट हो गया है")
pred_val = DTreg.predict([[4, 7]])
print("भविष्यवाणी किया गया डेटा है")
print(pred_val)आउटपुट
डिसीजन ट्री रिग्रेसर को कॉल किया गया है डेटा फिट हो गया है भविष्यवाणी किया गया डेटा है [1.5]
व्याख्या
- आवश्यक पैकेज वातावरण में आयात किए गए हैं।
- फीचर वेक्टर और टारगेट वैल्यू परिभाषित की गई हैं।
- DecisionTreeRegressor को कॉल किया जाता है और डेटा को मॉडल में फिट किया जाता है।
- फीचर वैल्यू के लिए मानों की भविष्यवाणी करने के लिए 'predict' फ़ंक्शन का उपयोग किया जाता है।
- आउटपुट कंसोल पर प्रदर्शित होता है।