Filtro de spam bayesiano
¡Bien hecho en el ejercicio anterior! Ahora vamos a abordar el famoso Teorema de Bayes y a usarlo para una tarea sencilla pero importante: detectar spam.
Revisando tu bandeja de entrada, te has dado cuenta de que muchos de los correos que preferirías no leer contienen frases exclamativas, como "¡COMPRA YA!!!". Empiezas a pensar que la presencia de tres signos de exclamación seguidos podría ser un buen predictor de spam. Para comprobarlo, has preparado un DataFrame llamado emails con dos variables: spam, que indica si el correo es spam, y contains_3_exlc, que indica si contiene la cadena "!!!". El encabezado de los datos es el siguiente:
spam contains_3_excl
0 False False
1 False False
2 True False
3 False False
4 False False
Tu tarea es calcular la probabilidad de que un correo sea spam dado que contiene tres signos de exclamación. Vamos paso a paso. Aquí tienes la fórmula de Bayes como referencia:
$$P(A|B) = \frac{P(B|A) * P(A)}{P(B)}$$
Este ejercicio forma parte del curso
Análisis de datos bayesiano en Python
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Calculate and print the unconditional probability of spam
p_spam = ____[____].____
print(____)