python贝叶斯公式
时间: 2023-10-12 22:20:17 浏览: 116
贝叶斯公式
贝叶斯公式是概率论中的一个重要公式,用于计算条件概率。在Python中,可以使用以下代码实现贝叶斯公式:
```
# 计算 P(A|B) = P(B|A) * P(A) / P(B)
def bayes_theorem(p_a, p_b_given_a, p_b_given_not_a):
# 计算 P(B)
p_b = p_b_given_a * p_a + p_b_given_not_a * (1 - p_a)
# 计算 P(A|B)
p_a_given_b = (p_b_given_a * p_a) / p_b
return p_a_given_b
```
其中,p_a 表示先验概率,即事件 A 发生的概率;p_b_given_a 表示在事件 A 发生的条件下,事件 B 发生的概率;p_b_given_not_a 表示在事件 A 不发生的条件下,事件 B 发生的概率。
使用该函数时,只需要输入相应的参数即可计算条件概率。例如:
```
# 计算 P(有病|阳性)
p_a = 0.01
p_b_given_a = 0.99
p_b_given_not_a = 0.05
p_a_given_b = bayes_theorem(p_a, p_b_given_a, p_b_given_not_a)
print(p_a_given_b)
```
上述代码中,假设有 1% 的人有某种疾病,如果进行检测,有 99% 的准确率能检测出来(即在有病的人中检测为阳性),同时在没有病的人中也有 5% 的误诊率(即在没有病的人中检测为阳性)。现在在检测结果为阳性的情况下,计算出一个人真正有病的概率。运行以上代码,输出结果为 0.1633,即约为 16.33%。
阅读全文