1. Nauka
  2. /
  3. Kursy
  4. /
  5. Bayesowska analiza danych w Pythonie

Connected

ćwiczenie

Bayesowski filtr spamu

Świetna robota w poprzednim ćwiczeniu! Teraz zajmiemy się słynnym twierdzeniem Bayesa i zastosujemy je do prostego, ale ważnego zadania: wykrywania spamu.

Przeglądając skrzynkę odbiorczą, zauważysz, że wiele e-maili, których wolisz nie czytać, zawiera wykrzyknikowe zwroty, takie jak „KUP TERAZ!!!". Przychodzi ci do głowy, że obecność trzech wykrzykników z rzędu może być dobrym predyktorem spamu! W związku z tym przygotowano ramkę danych emails z dwiema zmiennymi: spam – czy e-mail był spamem, oraz contains_3_exlc – czy zawiera ciąg „!!!". Pierwsze wiersze danych wyglądają tak:

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

Twoim zadaniem jest obliczenie prawdopodobieństwa, że e-mail jest spamem, jeśli zawiera trzy wykrzykniki. Rozwiążemy to krok po kroku! Oto wzór Bayesa do wglądu:

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

Instrukcje 1/4

undefined XP
    1
    2
    3
    4
  • Oblicz bezwarunkowe prawdopodobieństwo, że e-mail jest spamem, przypisz je do zmiennej p_spam i wyświetl jej wartość.