貝葉斯垃圾信過濾器
上一題做得很不錯!現在來挑戰著名的貝葉斯定理,並把它用在一個簡單但重要的任務:垃圾信偵測。
你在瀏覽收件匣時發現,不少你不想花時間閱讀的電子郵件會包含感嘆語句,例如「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(____)