Lesson 07 � Advanced

ENSEMBLE METHODS
SAB MILKE STRONG.

Ensemble multiple models ko combine karta hai � ek model se better. Kaggle competitions mein hamesha ensemble use hota hai. Jab sab models milkar decide karein toh result zyada reliable hota hai.

? 22 min✓ Intermediate✓ Prerequisite: Random Forest

WHY: Ensemble Methods kyun?

Ek model ka perspective limited hota hai. Agar aap 10 alag-alag models lo aur unka average ya majority vote lo, toh result zyada reliable hota hai. Yahi ensemble ka power hai.

BAGGING

Bootstrap + Aggregate � random sampling se multiple models banata hai aur unka average leta hai. Parallel training hoti hai.

BOOSTING

Sequential improvement � har model previous ke errors ko fix karta hai. Weak learners ko strong banata hai.

STACKING

Meta-learner � multiple models ke predictions ko input mein leke ek final model banata hai.

VOTING

Majority vote se final decision � hard voting (majority) ya soft voting (average probabilities) use hota hai.

HOW: Ensemble Methods kaise kaam karte hain?

Ensemble learning ek meta-technique hai jo multiple models ko combine karke better performance achieve karti hai.

Analogy: Socho tumhe movie ka review chahiye. Ek critic se pucho toh uska taste alag ho sakta hai. Lekin agar 10 critics se pucho aur majority bole "acchi hai" toh tumhe bharosa ho sakta hai. Ensemble yahi karta hai � multiple models se pucho, majority ka jawab lo!

Types of Ensemble Methods:

  1. Voting: Sab models ka prediction lo aur majority/average decide karo
  2. Bagging: Random sampling se multiple models parallel mein train karo
  3. Boosting: Sequentially models train karo, har ek previous ke errors fix kare
  4. Stacking: Multiple models ke predictions ko meta-model ke input mein do

Key Benefits:

Code Example

python
from sklearn.ensemble import (
 VotingClassifier, BaggingClassifier,
 AdaBoostClassifier, GradientBoostingClassifier
)
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_classification
import numpy as np

X, y = make_classification(n_samples=200, n_features=5, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(
 X, y, test_size=0.3, random_state=42
)

# Voting � multiple models ka ensemble
voting = VotingClassifier(estimators=[
 ('dt', DecisionTreeClassifier()),
 ('rf', RandomForestClassifier()),
 ('gb', GradientBoostingClassifier())
], voting='soft')
voting.fit(X_train, y_train)
print(f"Voting: {voting.score(X_test, y_test):.2%}")

# Bagging � parallel training
bag = BaggingClassifier(n_estimators=10, random_state=42)
bag.fit(X_train, y_train)
print(f"Bagging: {bag.score(X_test, y_test):.2%}")

# Boosting � sequential improvement
boost = AdaBoostClassifier(n_estimators=50, random_state=42)
boost.fit(X_train, y_train)
print(f"Boosting: {boost.score(X_test, y_test):.2%}")

Try it: code ko run karo

Python playgroundFirst run download kar sakta hai
Run Python dabayein

Quick check

Bagging aur Boosting mein kya fark hai?

Ek method parallel training use karta hai, dusra sequential improvement. Socho: bagging mein sab trees ek saath train hote hain, boosting mein ek ek karke.

Common mistakes

Ensemble Methods samajh aa gaya?

Ab Model Evaluation par chalo � accuracy, precision, recall, F1-score aur confusion matrix seekho.