LoslegenKostenlos loslegen

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

Kurs anzeigen

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)
Code bearbeiten und ausführen