📚 সমস্ত অধ্যায় দেখুন
অধ্যায়/ফেজ 3 · Phase 3 · Advanced ML
3.2২৫ মিনিট পড়া21 / 68

XGBoost & LightGBM — Kaggle এর রাজা

Gradient Boosting

Boosted tree এর গভীর intuition।

Hook — Kaggle এর রাজা

২০১৫ এর পর প্রায় প্রতিটি tabular Kaggle competition এর top solution এ XGBoost বা LightGBM ছিল। কারণ — speed + accuracy + regularization এর perfect ব্যালান্স।

Concept — Gradient Boosted Trees

Boosting এ প্রতিটি নতুন tree আগের tree-গুলোর residual (ভুল) এর উপর fit হয়। Gradient Boosting এ residual = loss function এর negative gradient।

F_{m}(x) = F_{m-1}(x) + η · h_m(x), h_m ≈ −∂L/∂F_{m-1}
XGBoost বিশেষ কেন

Second-order Taylor expansion, L1/L2 regularization, sparse-aware split finding, parallel histogram।

XGBoost vs LightGBM vs CatBoost

  • XGBoost — level-wise tree, stable, খুব robust।
  • LightGBM — leaf-wise tree, দ্রুত, বড় dataset এর জন্য সেরা।
  • CatBoost — categorical handling built-in, GPU-friendly।

Code — XGBoost on Tabular Data

xgb_demo.py
from xgboost import XGBClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

X, y = load_breast_cancer(return_X_y=True)
Xtr, Xte, ytr, yte = train_test_split(X, y, random_state=0)

model = XGBClassifier(
    n_estimators=500, max_depth=4, learning_rate=0.05,
    subsample=0.9, colsample_bytree=0.9,
    reg_lambda=1.0, eval_metric="logloss"
)
model.fit(Xtr, ytr, eval_set=[(Xte, yte)], verbose=False)
print("Test acc:", model.score(Xte, yte))

import pandas as pd
imp = pd.Series(model.feature_importances_).sort_values(ascending=False).head(10)
print(imp)

Important Hyperparameters

  • n_estimators — কয়টা tree।
  • max_depth / num_leaves — tree complexity।
  • learning_rate — ছোট হলে বেশি tree দরকার।
  • subsample, colsample_bytree — randomness, overfit কমায়।
  • reg_alpha (L1), reg_lambda (L2) — regularization।

Common Mistakes

ভুল

early_stopping ছাড়া অনেক tree fit করে overfit করে ফেলা।

  • Categorical কে integer code করে XGBoost এ দেওয়া — order ধরে নেয়।
  • GPU ব্যবহার না করে বড় dataset এ ঘণ্টার পর ঘণ্টা train করা।

Mini Project — House Price Prediction

Kaggle House Prices dataset এ XGBoost regression train করো। RMSLE বের করো এবং feature importance দিয়ে top-10 driver খুঁজে বের করো।

Summary

এক নজরে

XGBoost/LightGBM = tabular ML এর default choice। Tuning + early stopping = winning recipe।