Implementing Conditional Probability & Bayes' Theorem in Python
Swipe to show menu
Conditional Probability
Conditional probability measures the chance of an event happening given another event has already occurred.
Formula:
P(A∣B)=P(B)P(A∩B)12345P_A_and_B = 0.1 # Probability late AND raining P_B = 0.2 # Probability raining P_A_given_B = P_A_and_B / P_B print(f"P(A|B) = {P_A_given_B:.2f}") # Output: 0.5
Interpretation: if it is raining, there's a 50% chance you will be late to work.
Bayes' Theorem
Bayes' Theorem helps us find $P(A|B)$ when it's hard to measure directly, by relating it to $P(B|A)$ which is often easier to estimate.
Formula:
P(A∣B)=P(B)P(B∣A)⋅P(A)Where:
- P(A∣B) - probability of A given B (our goal);
- P(B∣A) - probability of B given A;
- P(A) - prior probability of A;
- P(B) - total probability of B.
Expanding P(B)
P(B)=P(B∣A)P(A)+P(B∣¬A)P(¬A)123456789101112P_A = 0.01 # Disease prevalence P_not_A = 1 - P_A P_B_given_A = 0.99 # Sensitivity P_B_given_not_A = 0.05 # False positive rate # Total probability of testing positive P_B = (P_B_given_A * P_A) + (P_B_given_not_A * P_not_A) print(f"P(B) = {P_B:.4f}") # Output: 0.0594 # Apply Bayes’ Theorem P_A_given_B = (P_B_given_A * P_A) / P_B print(f"P(A|B) = {P_A_given_B:.4f}") # Output: 0.1672
Interpretation: Even if you test positive, there is only about a 16.7% chance you actually have the disease.
Key Takeaways
- Conditional probability finds the chance of A happening when we know B occurred;
- Bayes' Theorem flips conditional probabilities to update beliefs when direct measurement is difficult;
- Both are essential in data science, medical testing, and machine learning.
Everything was clear?
Thanks for your feedback!
Section 5. Chapter 4
Ask AI
Ask AI
Ask anything or try one of the suggested questions to begin our chat
Section 5. Chapter 4