Lesson 06 � Algorithm

RANDOM FOREST
SABSE STRONG.

Random forest multiple decision trees ka ensemble hai � ek tree galat ho sakta hai, 100 trees nahi. Sabse reliable algorithm hai jo bagging aur feature randomness ka use karta hai.

? 22 min✓ Intermediate✓ Prerequisite: Decision Trees

WHY: Random Forest kyun?

Single decision tree overfit ho sakta hai. Random forest us problem ko solve karta hai � multiple trees banata hai aur unka majority vote leta hai. Sab trees milkar better decision lete hain.

ENSEMBLE

Multiple models milke kaam karte hain � jab sab milkar decide karein toh result better hota hai.

BAGGING

Bootstrap sampling � original data se random samples leke har tree ko alag-alag data pe train karte hain.

FEATURE RANDOMNESS

Har split pe sirf random features consider karte hain � taaki trees diverse ho aur overfit na karein.

VOTING

Majority vote se final decision � sabse zyada trees jo bole wohi winner hai.

HOW: Random Forest kaise kaam karta hai?

Random Forest ek ensemble learning technique hai jo bagging aur feature randomness ka use karke multiple decision trees banata hai.

Analogy: Socho tumhe pata karna hai movie acchi hai ya nahi. Ek critic se pucho toh uska taste alag ho sakta hai. Lekin agar 100 critics se pucho aur majority bole "acchi hai" toh tumhe bharosa ho sakta hai. Random Forest yahi karta hai � 100 trees se pucho, majority ka jawab lo!

Step-by-step process:

  1. Bootstrap Sampling: Original dataset se random samples banao (replacement ke saath)
  2. Feature Selection: Har tree ko sirf kuch random features do split ke liye
  3. Tree Building: Har sample pe apni tree banao
  4. Voting: Sab trees ka prediction lo aur majority decide karo

Key Hyperparameters:

Code Example

python
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import numpy as np

X = np.random.rand(200, 5)
y = (X[:,0] + X[:,1] > 1).astype(int)

X_train, X_test, y_train, y_test = train_test_split(
 X, y, test_size=0.3, random_state=42
)

model = RandomForestClassifier(n_estimators=100, random_state=42)
model.fit(X_train, y_train)

print(f"Accuracy: {model.score(X_test, y_test):.2%}")
print(f"Feature importances: {model.feature_importances_}")

Try it: code ko run karo

Python playgroundFirst run download kar sakta hai
Run Python dabayein

Quick check

Random Forest ka main idea kya hai✓ Kaise yeh single tree se better hota hai?

Ek tree galat ho sakta hai � lekin agar bahut saare trees ho aur majority bole, toh answer zyada reliable hoga.

Common mistakes

Random Forest samajh aa gaya?

Ab Ensemble Methods par chalo � bagging, boosting, stacking aur voting ke baare mein detail mein seekho.