開始使用免費開始

貝葉斯垃圾信過濾器

上一題做得很不錯!現在來挑戰著名的貝葉斯定理,並把它用在一個簡單但重要的任務:垃圾信偵測。

你在瀏覽收件匣時發現,不少你不想花時間閱讀的電子郵件會包含感嘆語句,例如「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)}$$

本練習屬於課程

Bayesian Data Analysis in Python

檢視課程

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)
編輯並執行程式碼