Filtre bayésien contre le pourriel
Beau travail dans l'exercice précédent! Passons maintenant au célèbre théorème de Bayes et utilisons-le pour une tâche simple mais importante : la détection de pourriel.
En parcourant votre boîte de réception, vous avez remarqué que plusieurs courriels que vous préféreriez ne pas lire contiennent des phrases exclamatives, comme « ACHETEZ MAINTENANT!!! ». Vous vous dites donc que la présence de trois points d'exclamation consécutifs pourrait être un bon indicateur de pourriel! Vous avez donc préparé un DataFrame nommé emails avec deux variables : spam, qui indique si le courriel est du pourriel, et contains_3_exlc, qui indique s'il contient la chaîne « !!! ». Le début des données ressemble à ceci :
spam contains_3_excl
0 False False
1 False False
2 True False
3 False False
4 False False
Votre tâche est de calculer la probabilité qu'un courriel soit du pourriel sachant qu'il contient trois points d'exclamation. Allons-y étape par étape! Voici la formule de Bayes pour référence :
$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$
Cette activité fait partie du cours
Analyse bayésienne des données en Python
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)