Bắt đầu ngayBắt đầu miễn phí

Bộ lọc spam kiểu Bayesian

Làm tốt ở bài trước! Giờ hãy cùng xử lý Định lý Bayes nổi tiếng và áp dụng nó cho một tác vụ đơn giản nhưng quan trọng: phát hiện spam.

Khi duyệt hộp thư, bạn nhận ra khá nhiều email mà bạn không muốn mất thời gian đọc có chứa câu cảm thán, như "BUY NOW!!!". Bạn bắt đầu nghĩ rằng sự xuất hiện của ba dấu chấm than liên tiếp có thể là một chỉ báo spam tốt! Vì thế bạn đã chuẩn bị một DataFrame tên emails với hai biến: spam cho biết email có phải spam hay không, và contains_3_exlc cho biết email có chứa chuỗi "!!!" hay không. Phần đầu của dữ liệu trông như sau:

     spam    contains_3_excl
0    False             False
1    False             False
2    True              False
3    False             False
4    False             False

Nhiệm vụ của bạn là tính xác suất một email là spam khi biết rằng nó chứa ba dấu chấm than. Hãy làm từng bước! Dưới đây là công thức Bayes để bạn tham khảo:

$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$

Bài tập này là một phần của khóa học

Phân tích dữ liệu Bayesian với Python

Xem khóa học

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)
Chỉnh sửa và Chạy Mã