Lesson 22 — Beginner
Machine Learning Foundations
Model banana aasaan hai, asli kaam hai problem ko sahi frame karna, split aisa jo jhooth na bole, aur metric jo galti ka cost sach mein dikhaaye. Is lesson mein tum ye poora raasta chaloge — Problem → data → split → baseline → iterate → ship — jismein split sacred hai: leakage usmein ghusi toh baaki sab bekaar. Saath mein dekhenge ki classical ML aaj bhi kahan ek LLM call se behtar chalta hai.
ML kya hai — problem se ship tak
Kya hai?
Machine learning ka matlab hai rules tum likhne ke bajaye examples se model ko sikhana. tum input aur sahi output (label) dete ho, model andar ka pattern nikaalta hai, aur naye input pe predict karta hai. Teen aam roop: classification (category chahiye), regression (number chahiye), clustering (bina label group banana).
Kab kaam aata hai?
Jab rule likhna mushkil ho — spam kaise pakdein bina keyword list ke — aur labelled examples bhi mil rahe hon. Jab rule bilkul crisp ho (amount limit se upar toh block), tab ML ki zarurat hi nahi padti.
Kahan milta hai?
scikit-learn jaisi libraries mein tabular data pe, production endpoints mein (routing, scoring, forecasting, anomaly detection), aur har interview mein jo split aur metric ke sawaal poochhta hai.
Poora khel ek fixed order mein hai: problem → data → split → baseline → iterate → ship. Split pehle hota hai kyunki test set ka data kabhi model ko nahi dikhna chahiye, aur baseline isliye kyunki bina baseline ke tumhe pata hi nahi chalega ki tumne kuch seekha hai ya nahi. Model sabse aakhri mein aata hai — pehle frame, phir data, phir measure.
Rules vs supervised vs unsupervised — label aur galti ka cost
labels hain? galti ka cost choice
-------------------- -------------------- -------------------------------
haan, data badhiya medium/high supervised (classification/regression)
nahi, grouping chahiye medium unsupervised (clustering)
rule crisp hai low, auditable heuristics hi rakho
nahi, rule likhna high pehle labels ikattha karo,
mushkil phir supervised
- Classification: label category hai — spam/not-spam, ticket routing, churn yes/no. Tab chalte ho jab "kis cheez mein" wala sawaal ho.
- Regression: label number hai — delivery time, demand, latency forecast. Tab jab "kitna" wala sawaal ho.
- Clustering (unsupervised): labels nahi hain, sirf grouping chahiye — customer segments, duplicate detection, anomaly (chhota cluster = anokha).
- Rules/heuristics: definition hi crisp hai toh rule sasta, instant aur explainable hai. ML usse tabhi replace karta hai jab rule ki list badh kar maintain hona mushkil ho jaaye.
- Ye hi "ML before LLM" patterns hain: clustering aur simple forecasting — chhote, tez models jo tab se chal rahe hain jab deep learning bhi nahi tha.
Linear/logistic intuition aur class imbalance
Linear regression ek seedhi line (y = w·x + b) fit karta hai jo sab examples ke farq ko minimum rakhe. Logistic regression usi line ko sigmoid se 0 aur 1 ke beech mein dabata hai, phir ek threshold decide karta hai ki boundary kis taraf hai — isliye ye classification ka sabse pehla, sabse auditable model hai. Marks se pass/fail wahi line hai, bas output dab gaya.
# 10 tickets: 5 spam, 5 not. Model ne 4 ko spam kaha, unmein 3 sahi
tp, fp, fn, tn = 3, 1, 2, 4 # 3+1+2+4 = 10
precision = tp / (tp + fp) # 3/4 = 0.75 -> jitne spam bane, usmein kitne asli
recall = tp / (tp + fn) # 3/5 = 0.60 -> asli spam mein se kitne pakde
f1 = 2 * precision * recall / (precision + recall) # 0.67
accuracy = (tp + tn) / 10 # 7/10 = 0.70
# imbalance ka dhoka: 95 not-spam + 5 spam, sabko not-spam bolo
print((95 + 0) / 100) # 0.95 accuracy, par spam recall = 0.00
- Precision: model jo positive bole usmein kitne sach. False positive mehnga ho toh (wrong block) precision upar chahiye.
- Recall: asli positives mein se kitne pakde. False negative mehnga ho toh (fraud chhoot gaya) recall upar chahiye.
- F1: dono ka harmonic mean — imbalance dataset pe accuracy se hamesha behtar jodisha.
- Imbalance handle karna cheating nahi, re-aiming hai: class weights, threshold hilaana, ya upar se sampling — par metric bhi badlo (PR curve), accuracy nahi.
- ROC vs PR intuition: imbalance badhne par PR curve zyada sach bolta hai kyunki wo positives pe focus rakhta hai, true negatives ke bade jhund pe nahi.
Clustering aur forecasting — bina label wale kaam
CLUSTERING FORECASTING
--------------------------------- ----------------------------------
bina labels (sirf features) past -> future
jaise k-means: k groups, distance naive baseline: kal = aaj
use: segments, dedupe, anomaly use: demand, capacity, batch size
check: cluster ka matlab, eyeball check: naive baseline se aage hai kya
dANGER: features galat toh group dANGER: future data train mein = leak
- Clustering ka mechanics: points ka distance naapo, k centers chuno, har point ko sabse paas wale center pe daalo, dobara center hatao — iterate tab tak groups stable na ho jaayein.
- Clustering ka result: labels milte hain par "ye segment naam se" kuch nahi kehta — usko naam dena aur samajhna insaan ka kaam hai. Interpretation ke bina cluster bekaar hain.
- Forecasting ka pehla kaam: naive baseline (pichhla value repeat, ya pichhla hafte ka wahi din) likho. Jo model baseline na harche wo forecast nahi, shor hai.
- Time ka farq: forecasting mein wakt hi feature hai — trend, season, lag. Random split yahan cheating hai (agle section mein).
Train/valid/test — split sacred, leakage kaise ghussti hai
# split ka 3 tarika — galat chunna hi leakage hai
# 1. random : rows independent hon tabhi (default)
# 2. time-aware : train = pehle 80 din, test = aakhri 20 din
# 3. group-aware: ek customer/order ka poora data ek hi side
classic leakage stories = {
"future data": "feature mein wo hai jo sirf baad mein pata chalta hai",
"target in features": "label ka direct proxy column features mein chhup gaya",
"duplicate rows": "same row train aur test dono mein -> score jhooth",
"fit on all data": "scaler/vectorizer sab data pe fit -> test ki jaankari pehle se",
}
# order: SPLIT pehle -> fit sirf train pe -> transform test pe
- Train: weights seekhne ke liye. Validation: threshold, hyperparameter aur model chunne ke liye. Test: final honest estimate — ek baar, decision ke waqt.
- Group-aware split: ek hi customer, order ya document ke tukde do side gaye toh model ne uska chehra rat liya. Identity se juda data hamesha ek hi side rakho.
- Future data: "refund kab milega" wale feature mein refund date hi chhupi ho toh target leak hai — train perfect, production zero.
- Target in features: label ka direct ya chhupa hua proxy column. Correlation itna perfect ki doubt aaye — leakage ka smell hai.
- Fit order: scaler, vectorizer, imputer — sab fit sirf train pe. Test pe sirf transform. Pipeline object isi liye hota hai ki ye order yaad rakhe.
Metrics jo jhooth nahi bolte — aur jab classical ML hi jeetta hai
kaunsi galti zyada mehngi? metric jo use hoga
----------------------------------- ---------------------------------
false positive zyada mehnga precision (threshold upar)
false negative zyada mehnga recall (threshold neeche)
dono important F1 / PR curve
imbalance hai accuracy KABHI NAHI
ranking ka kaam (top-k results) precision@k / PR curve
fraud/abnormal dhoondhna precision-recall, threshold sweep
classical ML vs LLM:
tabular + keyword volume task -> chhota model: sasta, tez, auditable
asli judgment wali cases -> LLM (bachi hui ghadi), mix karo
- Metric ko error cost se chuno: "accuracy" default nahi hai. Pehle poochho — galti hone pe paisa, time ya trust kis ka jaata hai? Wahi metric ka source hai.
- ROC/PR curve ka use: ek threshold pe ek number dekhne ke bajaye poori curve dekho — threshold tumhare business ko chunna chahiye, code ko nahi.
- Jab classical ML LLM se behtar hai: bahut saare tabular/keyword rows, chhoti latency budget, audit chahiye — logistic/gradient-boosted style models yahan jeet jaate hain.
- Hybrid pattern: chhota model bulk kare, jo confident na ho wo LLM ya insaan ke paas jaaye. Har row pe LLM call karna default nahi, exception.
- Classical ka faida: feature importance dekh sakte ho (kaunsa column chal raha hai), model chhota hai, latency microseconds mein — production support aasaan.
Exercise
Question: Bina labels ke grouping karna (jaise customer segments) — kaunsi learning kehlaati hai?
Question: Precision ka denominator kya hai — kaunse log?
Question: Train aur test set mein duplicate rows mil jaayein toh problem ko ek shabd mein kya kehte hain?
Question: 95 not-spam aur 5 spam wale data pe model ne sabko not-spam bola — accuracy percent kitni aayegi? Sirf number daalo.
Question: F1 score kis do metrics ka harmonic mean hai?
Common mistakes
- Imbalance data pe accuracy ko default metric maanna: Sabko majority class bol kar bhi 95% aa jaata hai, par spam filter zero spam pakadta hai. Fix: pehle error cost, phir precision/recall/PR curve — accuracy reject karo.
- Har jagah random split: Ek customer ka data do side gaya ya future pe train ho gaya toh test score jhooth bolega. Fix: group-aware aur time-aware split ka socho — rows ka source dekho, index nahi.
- Test set ko tuning ke liye use karna: Har baar test dekh kar threshold badalte rahe toh test bhais ban gaya. Fix: tuning validation pe, test ek baar final decision pe.
- Baseline ke bina model chalana: Improvement ka koi paimaana nahi — "82% aaya" ka matlab kuch nahi jab majority baseline 80% tha. Fix: majority/naive baseline pehle likho, phir model se usko harao.
Pehle udhaar ka rule tha: jaan-pehchaan wala ko haan, anjaan ko na. Wo do line ka rule hai — sasta, explainable, par andha. Ab wahi faisle purchase history, payment delay aur ticket size se sikh rahe hain, kyunki labels bhi hain (jisne chukaya, jisne nahi) aur galti ka cost bhi. Baseline yahi hai — purane rule ko harana zaroori:
rule: jaan-pehchaan -> udhaar (sasta, tez, par blind)
model: features -> label se seekha (pattern pakadta hai, par check chahiye)
baseline: rule ka score vs model ka -> jo jeete wahi ship
bachi hui 5% mushkil cases -> LLM / insaan (hybrid)- Q: Rules aur ML kab chunoge? — Labels aur galti ka cost se: crisp rule ho toh rule; pattern chhupa ho aur labels hon toh ML.
- Q: Leakage kaise detect karoge? — Symptom: train/test score ka bada gap. Audit: duplicate rows, target proxy features, time order, aur fit-before-split check.
- Q: 95/5 imbalance pe accuracy 95% aa rahi — kya karoge? — Accuracy reject; error cost decide; PR curve aur threshold sweep se precision/recall chuno.
- Q: Validation aur test ka farq? — Validation tuning/selection ke liye (baar-baar), test final honest estimate (ek baar).
- Q: Kab classical ML LLM se behtar hai? — High-volume tabular/keyword tasks: sasta, tez, auditable. LLM sirf judgment wali ghadi ke liye — cascade chalao.
Split, baseline aur metric teeno ab sacred hain. Agla lesson — Deep Learning Foundations — mein dekhenge ki ye wahi seekhne ka loop (loss → gradient → update) neural networks ke andar kaise chalta hai.