贝叶斯垃圾邮件过滤器
上一题做得很好!现在我们来挑战著名的贝叶斯定理,并将其用于一个简单但重要的任务:垃圾邮件检测。
在浏览收件箱时,您发现许多不值得花时间阅读的邮件常常包含感叹式语句,比如 "BUY NOW!!!"。您开始思考:连续三个感叹号也许是一个很好的垃圾邮件预测信号!因此,您准备了一个名为 emails 的 DataFrame,其中有两个变量:spam,表示邮件是否为垃圾邮件;contains_3_exlc,表示是否包含字符串 "!!!"。数据的前几行如下所示:
spam contains_3_excl
0 False False
1 False False
2 True False
3 False False
4 False False
您的任务是:在已知邮件包含三个感叹号的条件下,计算它是垃圾邮件的概率。我们一步一步来!供您参考,下面是贝叶斯公式:
$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$
本练习是课程的一部分
Python 中的贝叶斯数据分析
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)