1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích dữ liệu Bayesian với Python

Connected

Bài tập

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)}$$

Hướng dẫn 1/4

undefined XP
    1
    2
    3
    4
  • Tính xác suất vô điều kiện một email là spam, gán vào biến p_spam và in ra.