开始使用免费开始使用

贝叶斯垃圾邮件过滤器

上一题做得很好!现在我们来挑战著名的贝叶斯定理,并将其用于一个简单但重要的任务:垃圾邮件检测。

在浏览收件箱时,您发现许多不值得花时间阅读的邮件常常包含感叹式语句,比如 "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(____)
编辑并运行代码