Implementering av Villkorlig Sannolikhet och Bayes Sats i Python
Svep för att visa menyn
Villkorlig sannolikhet
Villkorlig sannolikhet mäter sannolikheten för att en händelse inträffar givet att en annan händelse redan har inträffat.
Formel:
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
Tolkning: om det regnar är det 50% sannolikhet att du kommer att komma för sent till arbetet.
Bayes sats
Bayes sats hjälper oss att hitta $P(A|B)$ när det är svårt att mäta direkt, genom att relatera det till $P(B|A)$ som ofta är lättare att uppskatta.
Formel:
P(A∣B)=P(B)P(B∣A)⋅P(A)Där:
- P(A∣B) – sannolikheten för A givet B (målet);
- P(B∣A) – sannolikheten för B givet A;
- P(A) – prior sannolikhet för A;
- P(B) – total sannolikhet för B.
Utveckling av 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
Tolkning: Även om du testar positivt är det bara cirka 16,7% sannolikhet att du faktiskt har sjukdomen.
Viktiga insikter
- Villkorlig sannolikhet beräknar sannolikheten för att A inträffar givet att vi vet att B har inträffat;
- Bayes sats vänder på villkorliga sannolikheter för att uppdatera antaganden när direkt mätning är svår;
- Båda är avgörande inom datavetenskap, medicinska tester och maskininlärning.
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 5. Kapitel 4
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Fantastiskt!
Completion betyg förbättrat till 1.96Avsnitt 5. Kapitel 4