ComeçarComece de graça

Filtro de spam Bayesiano

Mandou bem no exercício anterior! Agora vamos encarar o famoso Teorema de Bayes e usá-lo para uma tarefa simples, mas importante: detectar spam.

Ao navegar pela sua caixa de entrada, você percebeu que vários e-mails nos quais você preferiria não perder tempo lendo contêm frases exclamativas, como "COMPRE AGORA!!!". Você começa a pensar que a presença de três pontos de exclamação seguidos pode ser um bom preditor de spam! Por isso, você preparou um DataFrame chamado emails com duas variáveis: spam, indicando se o e-mail é spam, e contains_3_exlc, indicando se ele contém a string "!!!". O início dos dados é assim:

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

Sua tarefa é calcular a probabilidade de o e-mail ser spam dado que ele contém três pontos de exclamação. Vamos por partes! Aqui está a fórmula de Bayes para sua referência:

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

Este exercício faz parte do curso

Análise de Dados Bayesiana em Python

Ver curso

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)
Editar e executar o código