Jab machine learning algorithms ko categorical data milta hai jaise "Red", "Blue", "Green" ya "Dog", "Cat", "Bird", toh woh directly text process nahi kar sakте. Unhe numbers chahiye. Lekin categories ko numbers mein convert karne ka tarika model performance ko drastically affect karta hai. Do fundamental approaches hain: label encoding (integers assign karna) aur one-hot encoding (binary indicator columns banana).
Sabse critical sawaal: Conversion method kyun matter karta hai? Kyunki zyaadatar ML algorithms numbers ko magnitude aur order ke saath interpret karte hain. Agar hum naively Red=0, Blue=1, Green=2 assign kar dein, toh model mathematically yeh sochta hai ki Green > Blue > Red, jo ki ek jhootha relationship create karta hai.
Socho tum apne Pokemon cards sort kar rahe ho.
Label encoding aisa hai jaise unhe kitne strong hain uske hisaab se numbers dena: Pikachu=1, Charizard=2, Mewtwo=3. Numbers ka matlab hota hai — bada number = stronger Pokemon.
One-hot encoding aisa hai jaise alag alag pile banana: ek pile Fire type ke liye, ek Water type ke liye, ek Electric type ke liye. Har card exactly ek pile mein jaata hai. Piles ka koi order nahi hota — Fire, Water se "bada" nahi hai, woh bas alag types hain.
Agar tum computer ko bolo "Pikachu=1, Charizard=2", toh woh soch sakta hai "Charizard, Pikachu ka do guna hai!" Yeh uss cheez ke liye bakwaas hai jinka koi order nahi hota. Toh types ke liye (Fire, Water, Electric), hum alag piles wali method use karte hain. Har Pokemon ko ek pile mein "haan" milta hai aur baaki mein "nahi": [Fire: yes, Water: no, Electric: no] Charizard ke liye.
Feature Scaling: One-hot encoded features already scaled hote hain (binary 0/1)
Curse of Dimensionality: One-hot encoding feature space badhata hai, kuch models ke liye hurt kar sakta hai
Regularization: L1/L2 regularization one-hot encoded high-cardinality features ke saath help karta hai
Target Encoding: High-cardinality nominal variables ke liye alternative
Decision Trees: Label encoding ko naturally recursive partitioning se handle karte hain
Linear Regression: Nominal ke liye one-hot chahiye, dummy variable trap se bachna
Feature Engineering: Encoding, categorical feature engineering ka pehla step hai
#flashcards/ai-ml
Label encoding kya hai? :: Har unique category ko ek alag integer se map karna (jaise Red=0, Blue=1, Green=2). Ek single integer column create karta hai.
One-hot encoding kya hai?
n categories ke liye n binary columns banana, jahan har sample ke liye exactly ek column 1 hota hai aur baaki 0 hote hain. Ise dummy variable encoding bhi kehte hain.
Label encoding kab use karni chahiye?
Ordinal categories ke liye jinka natural order ho (jaise education level: High School < Bachelor's < Master's), ya tree-based models ke saath nominal data ke liye bhi.
One-hot encoding kab use karni chahiye?
Nominal categories ke liye jinka natural order nahi hota (jaise country, color), khaaskar linear ya distance-based models ke saath.
Linear models mein nominal data ke liye label encoding kyun dangerous hai?
Model integers ko magnitude/order ke saath interpret karta hai. Agar USA=0, India=1, Brazil=2, toh model sochta hai Brazil = 2×India ya Brazil aur India, USA aur India se zyaada similar hain, jo bilkul bakwaas hai.
Dummy variable trap kya hai?
Saari n one-hot encoded columns include karne se perfect multicollinearity create hoti hai (columns ka sum 1 hota hai), jisse linear regression mein design matrix singular ho jaata hai. Ek column ko reference ke liye drop karo.
Har category ek standard basis vector hai. Kisi bhi do ke beech distance: ||e_i - e_j||₂ = √2 sabhi i≠j ke liye. Saari categories geometrically equally "door" hoti hain.
High cardinality nominal variables ka solution kya hai?
Target encoding (har category ke liye target ka mean), frequency encoding, embeddings, ya categories ko broad classes mein group karna. One-hot encoding bahut zyaada dimensions create kar deta hai.
Tree-based models label encoding ke saath nominal data ke liye kyun kaam karte hain?
Trees thresholds par split karte hain (if encoded_value ≤ 2.5) recursive partitioning ke through. Woh encoded integers aur target ke beech linear relationships assume nahi karte.
n categories wali one-hot encoding mein linear regression ko kitne columns use karne chahiye?
n-1 columns. Reference level ke roop mein ek drop karo taaki multicollinearity na ho. Drop ki gayi category ka effect intercept mein absorb ho jaata hai.
Ordinal data kya hota hai?
Categorical data jiska natural order/ranking hota hai (jaise T-shirt sizes S < M < L < XL, ya ratings Poor < Fair < Good < Excellent).
Nominal data kya hota hai?
Categorical data jiska koi natural order nahi hota (jaise colors, countries, product names). Categories sirf alag alag labels hoti hain.