Lesson 02 � Foundation
SUPERVISED
LEARNING SEEDHO.
Supervised learning mein humare paas labeled data hota hai � har data point ke saath sahi answer bhi hota hai. Model ye pattern seekhta hai aur naye data pe predict karta hai.
WHY: Supervised Learning kyun?
Supervised learning sabse common ML type hai � labeled data se model seekhta hai aur new data pe predict karta hai. Spam detection, weather prediction, aur bohot saare real-world problems isse solve hote hain.
Supervised learning mein hum labelled data (X aur y dono) use karke model train karte hain � taaki naye input pe sahi output predict ho sake.
Jab aapke paas historical data ho with known answers � jaise past house prices, email spam labels, ya patient diagnoses.
Email spam filters, price prediction, medical diagnosis, credit scoring � har jagah jahan labeled data available hai.
Key Concepts: Regression vs Classification
Continuous numbers predict karta hai � jaise ghar ka price, temperature, salary. Output ek number hota hai.
Categories predict karta hai � jaise spam/not spam, cat/dog, disease/no disease. Output ek label hota hai.
Target variable � jo hum predict karna chahte hain. Training data mein yeh already hota hai.
Model se data ke patterns seekhna � input-output pairs se relationship samajhna.
HOW: Supervised Learning kaise kaam karta hai?
Supervised learning mein humare paas labeled data hota hai � matlab har data point ke saath uska sahi answer (label) bhi hota hai.
Process simple hai: Data lo ✓ Model train karo ✓ Predict karo!
- Regression: Continuous numbers predict karte hain (e.g., salary, temperature)
- Classification: Discrete categories predict karte hain (e.g., yes/no, spam/not spam)
Code Example
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
import numpy as np
# REGRESSION � Ghar ka price predict karna
X = np.array([[1],[2],[3],[4],[5]]) # Size in 1000 sqft
y = np.array([2, 4, 5, 4, 5]) # Price in lakhs
X_train, X_test, y_train, y_test = train_test_split(
X, y, test_size=0.2, random_state=42
)
reg = LinearRegression()
reg.fit(X_train, y_train)
print(f"R� Score: {reg.score(X_test, y_test):.2f}")
print(f"Prediction (size=3.5): {reg.predict([[3.5]])[0]:.2f}")
# CLASSIFICATION � Height/Weight se gender predict
X2 = np.array([[170,60],[175,70],[160,55],[180,80],[165,65]])
y2 = np.array([0, 1, 0, 1, 0]) # 0=female, 1=male
clf = DecisionTreeClassifier()
clf.fit(X2, y2)
pred = clf.predict([[172, 68]])
print(f"Gender: {'Male' if pred[0]==1 else 'Female'}")Try it: code ko run karo
Quick check
Supervised learning ke liye kya zaroori hai?
Socho: model ko kya chahiye seekhne ke liye✓ Input ke saath sahi answer bhi chahiye hota hai � usse label kehte hain.
Common mistakes
- Labeled data na hona: Supervised learning ke liye har data point ka answer hona zaroori hai.
- Overfitting: Training data pe bahut achha score but test data pe kharab � model ne pattern nahi, noise yaad kar liya.
- Train/test split bhoolna: Hamesha data ko train aur test mein divide karo � varna model ka real performance pata nahi chalega.
Ab Linear Regression par chalo � supervised learning ka sabse pehla aur simplest algorithm.