XGBoost ग्रेडिएंट बूस्टिंग: पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

XGBoost का परिचय

XGBoost (Extreme Gradient Boosting) ग्रेडिएंट बूस्टिंग का एक उच्च-प्रदर्शन कार्यान्वयन है, जो मशीन लर्निंग के क्षेत्र में डी-फैक्टो मानक बन गया है। 2016 में Tianqi Chen द्वारा विकसित, इस लाइब्रेरी ने डेटा साइंस की दुनिया में क्रांति ला दी और Kaggle प्रतियोगिताओं में जीत का एक प्रमुख घटक बन गई।

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

ग्रेडिएंट बूस्टिंग क्या है?

ग्रेडिएंट बूस्टिंग एक शक्तिशाली एन्सेम्बल मशीन लर्निंग विधि है, जो कमजोर मॉडलों (आमतौर पर डिसीज़न ट्री) के अनुक्रमिक प्रशिक्षण पर आधारित है। एन्सेम्बल में प्रत्येक नया मॉडल पिछले मॉडलों द्वारा की गई त्रुटियों को सुधारने पर ध्यान केंद्रित करता है।

ग्रेडिएंट बूस्टिंग का कार्य सिद्धांत

एल्गोरिदम इस प्रकार काम करता है:

  1. आरंभीकरण: एक बेस मॉडल बनाया जाता है (आमतौर पर एक स्थिर भविष्यवाणी)
  2. पुनरावृत्त प्रशिक्षण: प्रत्येक पुनरावृत्ति पर एक नया मॉडल जोड़ा जाता है, जो पिछले मॉडलों के अवशेषों (त्रुटियों) की भविष्यवाणी करता है
  3. ऑप्टिमाइज़ेशन: लॉस फंक्शन को कम करने के लिए ग्रेडिएंट डिसेंट का उपयोग किया जाता है
  4. एग्रीगेशन: अंतिम भविष्यवाणी सभी मॉडलों की भविष्यवाणियों को उपयुक्त भार के साथ जोड़कर प्राप्त की जाती है

XGBoost की आर्किटेक्चर और कार्य सिद्धांत

XGBoost कई नवीन ऑप्टिमाइज़ेशन के साथ ग्रेडिएंट बूस्टिंग का एक उन्नत संस्करण लागू करता है:

मुख्य आर्किटेक्चरल निर्णय

द्वितीय-क्रम ऑप्टिमाइज़ेशन: XGBoost लॉस फंक्शन के दूसरे डेरिवेटिव (हेसियन) की जानकारी का उपयोग करता है, जो अधिक सटीक अनुमान और तेज़ अभिसरण सुनिश्चित करता है।

रेगुलराइज़ेशन: L1 और L2 रेगुलराइज़ेशन के लिए अंतर्निहित समर्थन एल्गोरिदम स्तर पर ओवरफिटिंग को रोकता है।

स्पार्स डेटा: Sparsity-aware एल्गोरिदम स्पार्स डेटा को कुशलतापूर्वक संसाधित करता है, लापता मानों के लिए स्वचालित रूप से इष्टतम दिशा सीखता है।

समानांतर कंप्यूटिंग: ट्री निर्माण एल्गोरिदम समानांतर है, जो प्रशिक्षण को काफी तेज करता है।

ट्री निर्माण प्रक्रिया

XGBoost ट्री निर्माण के लिए एक अद्वितीय एल्गोरिदम का उपयोग करता है:

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

XGBoost की स्थापना और कॉन्फ़िगरेशन

लाइब्रेरी की स्थापना

pip के माध्यम से मानक स्थापना:

pip install xgboost

GPU समर्थन के साथ स्थापना के लिए:

pip install xgboost[gpu]

अधिकतम प्रदर्शन के लिए स्रोत कोड से स्थापना:

git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
python setup.py install

इम्पोर्ट और बेसिक कॉन्फ़िगरेशन

import xgboost as xgb
from xgboost import XGBClassifier, XGBRegressor
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, mean_squared_error

XGBoost के मुख्य इंटरफ़ेस

XGBoost काम करने के लिए तीन मुख्य इंटरफ़ेस प्रदान करता है:

Learning API (नेटिव इंटरफ़ेस)


                
    
    

अनुशंसाएँ