Ya hemos visto el uso de las probabilidades en la toma de decisiones. En este caso haremos referencia a un teorema específico para resolver de mejor manera problemas con alta incertidumbre, el teorema de Bayes.
Teorema de Bayes:
Definición:
La probabilidad de que la moneda esté en cualquier lugar de la habitación es la misma.
Empiezas a buscar la moneda y encuentras una pequeña área donde es más probable que esté.
La probabilidad de que la moneda esté en esa área pequeña es ahora mayor que la probabilidad de que esté en cualquier otro lugar de la habitación.
El teorema de Bayes se expresa mediante la siguiente fórmula:
P(A|B) = (P(B|A) * P(A)) / P(B)
P(A|B):
La probabilidad posterior de A dado B. Es la probabilidad de que el evento A ocurra después de haber observado que el evento B ha ocurrido.
P(B|A):
La probabilidad condicional de B dado A. Es la probabilidad de que el evento B ocurra si sabemos que el evento A ha ocurrido.
P(A):
La probabilidad previa de A. Es la probabilidad de que el evento A ocurra antes de tener en cuenta la nueva evidencia.
P(B):
La probabilidad de B. Es la probabilidad de que el evento B ocurra independientemente de A.
Matemáticas profe Alex (25 mayo de 2022), Teorema de Bayes Introducción.
Supongamos que tenemos una enfermedad que afecta a 1 de cada 1000 personas. Hay una prueba para la enfermedad que es 99% precisa, lo que significa que:
Si una persona da positivo en la prueba, ¿Cuál es la probabilidad de que realmente tenga la enfermedad?
El siguiente enlace te ayudará a reforzar el enfoque computacional:
P(A): 0.001 (probabilidad previa de que la persona tenga la enfermedad)
P(B|A): 0.99 (probabilidad de que la prueba dé positivo si la persona tiene la enfermedad)
P(B): 0.0099 (probabilidad de que la prueba dé positivo)
P(A|B) = (0.99 * 0.001) / 0.0099 = 0.099
La probabilidad de que la persona tenga la enfermedad después de dar positivo en la prueba es del 9.9%. Esto es mucho más alto que la probabilidad previa del 0.1%.
El teorema de Bayes nos permite tomar decisiones más informadas al tener en cuenta la nueva evidencia. Es una herramienta flexible que se puede aplicar a una amplia variedad de situaciones.
Detección de correo electrónico no deseado (Spam) utilizando el teorema de Bayes.
Objetivo:
Preparación:
1. Requisitos:
2. Datos:
Conjunto de datos SpamAssassin Public Corpus que contiene 5827 correos electrónicos etiquetados como “spam= 1” o “no spam=0”.
https://www.kaggle.com/datasets/ganiyuolalekan/spam-assassin-email-classification-dataset
2. Preprocesamiento de datos:
Desarrollo:
1. Extracción de características:
2. Modelo:
El modelo se basará en el teorema de Bayes para calcular la probabilidad de que un correo electrónico sea spam dado su conjunto de características.
3. Algoritmo (Código en python):
1. Calcular la probabilidad previa de spam (P(Spam)):
P_spam = numero_correos_spam / total_correos
2. Calcular la probabilidad de las características del correo electrónico dado que es spam (P(Características|Spam))
P_caracteristicas_spam = frecuencia_caracteristicas_spam / total_caracteristicas_spam
3. Calcular la probabilidad de las características del correo electrónico dado que no es spam (P(Características|NoSpam))
P_caracteristicas_no_spam = frecuencia_caracteristicas_no_spam / total_caracteristicas_no_spam
4. Calcular la probabilidad posterior de que el correo electrónico sea spam (P(Spam|Características))
P_spam_caracteristicas = (P_spam * P_caracteristicas_spam) / (P_spam * P_caracteristicas_spam + P_no_spam * P_caracteristicas_no_spam)
5. Clasificación:
Un correo electrónico se clasificará como spam si:
P(Spam|Características) > P(NoSpam|Características)
6. Evaluación:
precision = np.sum(clasificaciones == data["spam"]) / len(clasificaciones)
recuperacion = np.sum(clasificaciones == data["spam"]) / data["spam"].sum()
Entregables:
Responder al siguiente cuestionario en google forms: https://forms.gle/nZCsMAo9e3Zkr2Yq8.
Recursos: 2 Descargables
Duración: 2 Horas