डिसिज़न ट्री

डिसीज़न फ़ॉरेस्ट मॉडल, डिसीज़न ट्री से बने होते हैं. डिसिज़न फ़ॉरेस्ट लर्निंग एल्गोरिदम (जैसे कि रैंडम फ़ॉरेस्ट), कम से कम कुछ हद तक डिसिज़न ट्री लर्निंग पर निर्भर करते हैं.

कोर्स के इस सेक्शन में, आपको डेटासेट का एक छोटा उदाहरण दिया जाएगा. साथ ही, यह भी बताया जाएगा कि एक डेसिज़न ट्री को कैसे ट्रेन किया जाता है. अगले सेक्शन में, आपको यह जानकारी मिलेगी कि डिसीज़न फ़ॉरेस्ट को ट्रेन करने के लिए, डिसीज़न ट्री को कैसे जोड़ा जाता है.

YDF कोड

YDF में, अलग-अलग डिसीज़न ट्री मॉडल को ट्रेन करने के लिए, सीएआरटी लर्नर का इस्तेमाल करें:

# https://ydf.readthedocs.io/en/latest/py_api/CartLearner
import ydf
model = ydf.CartLearner(label="my_label").train(dataset)

मॉडल

फ़ैसला लेने के लिए ट्री एक ऐसा मॉडल है जिसमें "सवालों" का कलेक्शन होता है. इन सवालों को ट्री के तौर पर, क्रम से व्यवस्थित किया जाता है. आम तौर पर,सवालों को शर्त, स्प्लिट या टेस्ट कहा जाता है. हम इस क्लास में "स्थिति" शब्द का इस्तेमाल करेंगे. हर नॉन-लीफ़ नोड में एक शर्त होती है और हर लीफ़ नोड में एक अनुमान होता है.

आम तौर पर, वनस्पति विज्ञान के पेड़ों की जड़ें सबसे नीचे होती हैं. हालांकि, फ़ैसले लेने वाले पेड़ों को आम तौर पर सबसे ऊपर जड़ (पहला नोड) के साथ दिखाया जाता है.

दो शर्तों और तीन लीफ़ वाला डिसीज़न ट्री. पहली शर्त (रूट) यह है कि पैरों की संख्या तीन से ज़्यादा होनी चाहिए. दूसरी शर्त यह है कि आंखों की संख्या तीन से ज़्यादा होनी चाहिए. तीनों पत्तियां, पेंगुइन, मकड़ी, और कुत्ते की हैं.

पहली इमेज. डेटा की कैटगरी तय करने वाला आसान डिसीज़न ट्री. हरे रंग में मौजूद लेजेंड, डिसीज़न ट्री का हिस्सा नहीं है.

 

किसी डेसिज़न ट्री मॉडल का अनुमान, शर्तों के मुताबिक किसी उदाहरण को रूट (सबसे ऊपर) से लीफ़ नोड (सबसे नीचे) तक भेजकर लगाया जाता है. जिस लीफ़ पर पहुंचा गया है उसकी वैल्यू, डेसिज़न ट्री का अनुमान होती है. विज़िट किए गए नोड के सेट को अनुमान पाथ कहा जाता है. उदाहरण के लिए, इस सुविधा की ये वैल्यू देखें:

num_legs num_eyes
4 2

अनुमान dog होगा. अनुमान लगाने का पाथ यह होगा:

  1. num_legs ≥ 3 → हां
  2. num_eyes ≥ 3 → नहीं

यह वही इलस्ट्रेशन है जो पहले चित्र में दिखाया गया है. हालांकि, इस इलस्ट्रेशन में दो स्थितियों के लिए, अनुमान लगाने का पाथ दिखाया गया है. यह पाथ, कुत्ते के लिए लीफ़ में खत्म होता है.

दूसरी इमेज. उदाहरण के लिए, *{num_legs : 4, num_eyes : 2}* में मौजूद लीफ़ *dog* तक पहुंचने वाला अनुमान लगाने का पाथ.

 

पिछले उदाहरण में, डिसीज़न ट्री के पत्तों में, कैटगरी के अनुमान शामिल होते हैं. इसका मतलब है कि हर पत्ते में, संभावित प्रजातियों के सेट में से किसी एक प्रजाति का जानवर होता है.

इसी तरह, डेसिज़न ट्री, रिग्रेशन के अनुमान (न्यूमेरिक वैल्यू) के साथ लीफ़ को लेबल करके, संख्या वाली वैल्यू का अनुमान लगा सकते हैं. उदाहरण के लिए, नीचे दिया गया डिसीज़न ट्री, किसी जानवर के क्यूटनेस स्कोर का अनुमान लगाता है. यह स्कोर 0 से 10 के बीच होता है.

ऐसा डिसीज़न ट्री जिसमें हर लीफ़ में एक अलग फ़्लोटिंग-पॉइंट संख्या होती है.

तीसरा डायग्राम. संख्या के हिसाब से अनुमान लगाने वाला डिसीज़न ट्री.