ComenzarEmpieza gratis

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

Ver curso

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(____)
Editar y ejecutar código