Menu
CoddyTech

Probabilidad condicional

Parte de la sección Estadística para ML del Journey de Machine Learning de Coddy. Lección 17 de 64.

La mitad de estos 10 correos electrónicos son spam. Pero una vez que sabes que un correo electrónico tiene un enlace, solo importan los que tienen enlace:

10 correos electrónicos como celdas en dos grupos. Un marco señala los 4 correos electrónicos con un enlace, 3 de ellos son spam; los 6 sin enlace contienen 2 correos electrónicos spam

La proporción dentro de ese grupo es la probabilidad condicional de que sea spam dado que contiene un enlace, P(spam | link). Cuenta ambos y después divide por la condición:

emails = pd.DataFrame({
    "link": ["yes", "no", "yes", "no", "no", "no", "yes", "no", "no", "yes"],
    "spam": ["yes", "no", "yes", "no", "no", "yes", "no", "no", "yes", "yes"],
})
spam = emails["spam"] == "yes"
link = emails["link"] == "yes"
print(spam.mean())
print((spam & link).sum() / link.sum())

Esto imprime:

0.5
0.75

La condición que ya conoces va debajo de la línea: divides entre ella. Un filtro de spam funciona de esta manera: la probabilidad de que sea spam dadas las palabras de un correo electrónico.

challenge icon

Desafío

Intermedio

Un mercado registró 50 días en mornings.csv: el sky de la mañana (clear, cloudy o foggy) y rain, yes si llovió más tarde. ¿Qué cielo es el mejor indicador?

  1. Para cada cielo de skies, imprime la probabilidad de lluvia dado ese cielo.
  2. Imprime la probabilidad de lluvia en cualquier día.
  3. Imprime el mejor indicio: el cielo con la probabilidad más alta.

Para un registro más corto, con 2 decimales:

Rain after a clear morning: 0.25
Rain after a cloudy morning: 0.33
Rain after a foggy morning: 0.75
Rain on any day: 0.45
Best clue for rain: foggy

Pruébalo tú mismo

import pandas as pd

days = pd.read_csv("mornings.csv")
skies = ["clear", "cloudy", "foggy"]

# Escribe tu código a continuación
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Estadística para ML

Practica por tu cuenta: Compilador de Python online