Bayesscher Spam-Filter
Gut gemacht bei der vorherigen Übung! Jetzt widmen wir uns dem berühmten Satz von Bayes und nutzen ihn für eine einfache, aber wichtige Aufgabe: Spam-Erkennung.
Beim Durchsehen deines Posteingangs ist dir aufgefallen, dass etliche E-Mails, für die du deine Zeit lieber nicht verschwenden würdest, Ausrufe enthalten, etwa "BUY NOW!!!". Du denkst dir, dass drei aufeinanderfolgende Ausrufezeichen ein guter Spam-Prädiktor sein könnten! Daher hast du ein DataFrame namens emails vorbereitet, mit zwei Variablen: spam (ob die E-Mail Spam war) und contains_3_exlc (ob sie die Zeichenfolge "!!!" enthält). Der Kopf der Daten sieht so aus:
spam contains_3_excl
0 False False
1 False False
2 True False
3 False False
4 False False
Deine Aufgabe ist es, die Wahrscheinlichkeit zu berechnen, dass eine E-Mail Spam ist, gegeben, dass sie drei Ausrufezeichen enthält. Gehen wir das Schritt für Schritt an! Hier ist zur Erinnerung die Bayes-Formel:
$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$
Diese Übung ist Teil des Kurses
Bayesianische Datenanalyse in Python
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)