Lesson 03 � Foundation

PROBABILITY
EVENTS KI CHANCES

Probability events ki chances batata hai � kitne percent chance hai ki kuch hoga. ML mein prediction probability pe based hoti hai. Spam filter "95% spam hai" bolta hai, disease detector "80% chance hai" bolta hai � yeh sab probability ka kaam hai.

? 20 min✓ Beginner✓ Prerequisite: Statistics Basics

WHY: Probability kyun important hai?

Har ML model ultimately probability predict karta hai. Logistic regression kya karta hai � class 1 hone ki probability nikalta hai. Random forest kya karta hai � majority vote se probability deta hai. Naive Bayes kya karta hai � Bayes theorem use karke probability calculate karta hai. Bina probability samjhe ML samajhna mushkil hai.

PROBABILITY

Kisi event ke hone ki chance � 0 se 1 ke beech hota hai. 0 = impossible, 1 = certain. Jaise coin toss mein heads ki probability 0.5 hai.

CONDITIONAL

"Given" condition lagake probability nikalna. Jaise "barish ho rahi hai TOH road gili hai" � barish ki condition mein road gili hone ki probability.

BAYES

Naye data se apni probability update karna. Pehle socha 1% disease hai, test positive aaya toh 95% ho gaya � yeh Bayes theorem hai.

DISTRIBUTION

Events ka pattern � kuch outcomes zyada frequent hain, kuch kam. Normal distribution mein beech wale outcomes zyada aate hain.

HOW: Probability ka formula

Probability ka basic formula bahut simple hai � favorable outcomes divided by total outcomes. Lekin isse bahut kuch nikalta hai. Yeh basics yaad rakho.

concept
Probability ka basic formula:

P(Event) = Favorable Outcomes / Total Outcomes

Examples:
 Coin toss mein Heads: 1/2 = 0.5 (50%)
 Dice mein Six: 1/6 = 0.167 (16.7%)
 Deck mein Ace: 4/52 = 0.077 (7.7%)

Probability ki range: 0 se 1
 0 = Impossible (puri tarah se nahi hoga)
 0.5 = Equal chance (50-50)
 1 = Certain (pakka hoga)
Mental model: Probability jaise gambling hai � kitna percent chance hai ki aap jeetoge. Agar 0.8 probability hai toh 80 baar mein 80 jeet sakte ho. ML mein yahi concept hai � model "kitna sure hai" yeh batata hai.

HOW: Python se probability simulate karo

Probability samajhne ka sabse achha tarika hai Python se experiment karo. Baar baar toss karo ya dice pheko aur dekho kitni baar kya aaya. Yeh probability ka practical hai.

python
import random

# Coin Toss � 1000 baar toss karo
heads = sum(1 for _ in range(1000) if random.choice(['H','T']) == 'H')
print(f"Heads probability: {heads/1000:.2f}")
# Output: ~0.50 (50% chance)

# Dice � 1000 baar pheko
outcomes = [random.randint(1,6) for _ in range(1000)]
print(f"Six probability: {outcomes.count(6)/1000:.2f}")
# Output: ~0.167 (16.7% chance)

# Bayes Theorem � Disease detection
def bayes(p_a, p_b_given_a, p_b):
 return (p_b_given_a * p_a) / p_b

# Disease: 1% population mein hai
# Test: 95% accurate (disease hai toh positive aata hai)
# Base rate: 5% logon ka test positive hota hai
p = bayes(0.01, 0.95, 0.05)
print(f"Disease given positive: {p:.2%}")
# Output: ~19.00% (sirf 19% chance disease hai!)

TYPES: Probability ke 3 types

Probability 3 tarike se calculate hoti hai. Theoretical, experimental, aur subjective. Har type ka apna use case hai.

concept
Probability ke 3 types:

1. THEORETICAL
 ✓ Formula se nikalte hain
 ? "Coin mein Heads ki probability 0.5 hai"
 ✓ Mathematical calculation

2. EXPERIMENTAL (Empirical)
 ✓ Actually experiment karke nikalte hain
 ? "1000 baar coin toss kiya, 480 baar Heads aaya"
 ✓ Experimental probability = 480/1000 = 0.48

3. SUBJECTIVE
 ✓ Experience aur judgment se estimate karte hain
 ? "Mujhe lagta hai rain ka chance 70% hai"
 ✓ Intuition based, ML mein nahi use hota

CONDITIONAL: Given condition

Conditional probability tab hota hai jab hum koi condition lagate hain. "Barish ho rahi hai" given hai toh "road gili hai" ki probability kitni hai✓ Yeh ML mein bahut use hota hai � "features given hai toh class kitni probability hai."

python
import random

# Conditional Probability example
# 100 students: 60 boys, 40 girls
# 70% boys play cricket, 40% girls play cricket

# Given: student is a boy
# P(Cricket | Boy) = 0.70 (70% boys play cricket)

# Given: student plays cricket
# P(Boy | Cricket) = ?

# Data simulate karo
students = []
for _ in range(60): # Boys
 students.append('B' if random.random() < 0.70 else 'G-not-cricket')
for _ in range(40): # Girls
 students.append('G' if random.random() < 0.40 else 'B-not-cricket')

cricket_players = [s for s in students if s in ['B', 'G']]
boys_who_play = [s for s in students if s == 'B']

print(f"Total cricket players: {len(cricket_players)}")
print(f"Boys who play cricket: {len(boys_who_play)}")
print(f"P(Boy | Cricket): {len(boys_who_play)/len(cricket_players):.2f}")
# Output: ~0.63 (63% cricket players are boys)
Formula: P(A|B) = P(A and B) / P(B) � "A given B" means "A aur B dono honge" divided by "B hoga." ML mein yahi hota hai � "features given hai toh yeh class hogi."

BAYES: Naye data se update karo

Bayes theorem sabse powerful concept hai. Pehle ek assumption hoti hai (prior), phir naya data aata hai (evidence), aur aap apni belief update karte ho (posterior). Yeh ML mein Naive Bayes classifier ke basis hai.

python
# Bayes Theorem
# P(A|B) = P(B|A) * P(A) / P(B)

# Example 1: Disease Detection
def bayes(p_a, p_b_given_a, p_b):
 return (p_b_given_a * p_a) / p_b

# Disease: 1% population mein hai (prior)
# Test: 95% accurate (sensitivity)
# False positive: 5% (healthy logon ka test positive)
p = bayes(0.01, 0.95, 0.05)
print(f"Disease given positive test: {p:.2%}")
# Output: ~19.00%
# Matlab: Test positive aaya toh sirf 19% chance hai disease hai!

# Example 2: Email Spam Filter
# Prior: 20% emails spam hain
# P("free" | spam) = 0.9 (spam mein "free" 90% baar aata hai)
# P("free" | not spam) = 0.1 (normal mein "free" 10% baar aata hai)
# P("free") = 0.9*0.2 + 0.1*0.8 = 0.26

p_spam_free = bayes(0.2, 0.9, 0.26)
print(f"Spam given 'free': {p_spam_free:.2%}")
# Output: ~69.23%
# Matlab: "free" word hai toh 69% chance spam hai!

INDEPENDENCE: Events alag hain?

Independent events ka ek doosre pe koi asar nahi hota. Coin toss pehla aur doosra independent hain � pehla Heads aaya toh doosra pe koi asar nahi. Dependent events mein pehla event doosre ko affect karta hai.

python
import random

# Independent Events
# P(A and B) = P(A) * P(B) jab events independent hon

# Coin toss � pehla aur doosra independent
# P(Heads and Heads) = 0.5 * 0.5 = 0.25

# Dependent Events (sampling without replacement)
# Bag mein 5 red, 3 blue balls
# P(Red first) = 5/8
# P(Red second | Red first) = 4/7 (ek red kam ho gaya!)
# P(Red then Red) = (5/8) * (4/7) = 20/56 = 0.357

# Simulation
results = []
for _ in range(10000):
 bag = ['R']*5 + ['B']*3
 first = random.choice(bag)
 bag.remove(first)
 second = random.choice(bag)
 results.append(first == 'R' and second == 'R')

print(f"P(Red then Red): {sum(results)/len(results):.3f}")
# Output: ~0.357 (matches calculation!)

Try it: Probability experiment karo

Neeche ka editor Python jaisa hai. Yahan coin toss ya dice roll ka experiment karo. "Run Python" dabao aur dekho probability kaise work karti hai.

Python playgroundProbability experiment karo
Code ko apni info se update karke run karein

Quick check

Coin toss mein Heads ki probability kitni hai? Number ya fraction mein jawab do.

Coin ke 2 sides hain � Heads aur Tails. Dono equally likely hain. Formula: Favorable / Total = 1 / 2

ML mein Probability kaise use hoti hai?

Har ML model probability ka use karta hai. Logistic regression directly probability nikalta hai. Decision tree probability based voting karta hai. Neural network bhi probability output deta hai. Yeh samjho toh ML clear ho jayega.

concept
ML Models aur Probability:

1. LOGISTIC REGRESSION
 ✓ Directly probability nikalta hai
 ✓ Output: 0.73 (73% chance class 1 hai)
 ✓ Threshold: 0.5 se upar = class 1

2. NAIVE BAYES
 ✓ Bayes theorem use karta hai
 ? "yeh features hain toh yeh class hogi"
 ✓ Spam filter, text classification

3. RANDOM FOREST
 ✓ Multiple trees ka vote
 ✓ Majority vote se probability milti hai
 ? "60% trees ne class 1 bola"

4. NEURAL NETWORKS
 ✓ Softmax layer probability deta hai
 ✓ Har class ki probability hoti hai
 ? [0.1, 0.7, 0.2] � class 2 sabse zyada

Common beginner mistakes

Probability clear?

Ab Data Cleaning par chalo � real-world data ganda hota hai, saaf karna seekho. Probability samajh ke data better analyze kar paoge.