Python으로 배우는 Bayesian 데이터 분석
Michal Oleszak
Machine Learning Engineer
합의 법칙
P(2 또는 4) = 1/6 + 1/6 = 0.33333... = 33.3%
곱의 법칙
P(2 그리고 4) = 1/6 * 1/6 = 0.02777... = 2.8%

$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$
$$P(\text{accident}|\text{slippery}) = \frac{P(\text{slippery}|\text{accident}) * P(\text{accident})}{P(\text{slippery})}$$
road_conditions.head()
accident slippery
0 False True
1 True True
2 False False
3 False False
4 False False
$$P(\text{accident}|\text{slippery}) = \frac{P(\text{slippery}|\text{accident}) * P(\text{accident})}{P(\text{slippery})}$$
# 사고의 무조건부 확률 p_accident = road_conditions["accident"].mean() # 0.0625# 도로가 미끄러운 것의 무조건부 확률 p_slippery = road_conditions["slippery"].mean() # 0.0892# 사고가 났을 때 도로가 미끄러울 확률 p_slippery_given_accident = road_conditions.loc[road_conditions["accident"]]["slippery"].mean() # 0.7142# 도로가 미끄러울 때 사고가 날 확률 p_accident_given_slippery = p_slippery_given_accident * p_accident / p_slippery # 0.5
Python으로 배우는 Bayesian 데이터 분석