Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Haz lo que hicimos en el aula: Construyendo una Red Bayesiana

Dejo el código, me gusto mas como se construye con los CPD, pero es una buena forma de entenderlo mejor.

probabilidades = {
    "HistorialCompras": {0: 0.7, 1: 0.3},
    "TiempoEnElSitio": {0: 0.6, 1: 0.4},
    "ClicóEnPromocion": {0: 0.8, 1: 0.2},

    "Compra": {
        (0, 0, 0): 0.1,
        (0, 0, 1): 0.3,
        (0, 1, 0): 0.2,
        (0, 1, 1): 0.6,
        (1, 0, 0): 0.4,
        (1, 0, 1): 0.7,
        (1, 1, 0): 0.8,
        (1, 1, 1): 0.9
    }
}


def calcular_probabilidad_compra(evidencias):

    historial = evidencias["HistorialCompras"]
    tiempo = evidencias["TiempoEnElSitio"]
    promocion = evidencias["ClicóEnPromocion"]

    prob_compra = probabilidades["Compra"][(historial, tiempo, promocion)]
    prob_no_compra = 1 - prob_compra

    return {
        "Comprar": prob_compra,
        "No Comprar": prob_no_compra
    }


evidencias = {
    "HistorialCompras": 1,
    "TiempoEnElSitio": 0,
    "ClicóEnPromocion": 1
}

resultado = calcular_probabilidad_compra(evidencias)

print("Probabilidades de Compra:")
for clave, valor in resultado.items():
    print(clave + ":", round(valor, 2))
print("\n")
print("Probabilidad de Compra:", round(resultado["Comprar"], 2))
print("Alex Carrasco Fernández")
1 respuesta

Hola, Alex! ¿Cómo vas?

Gracias por compartir tu código con la comunidad Alura. Me gustó cómo representaste la Red Bayesiana usando un diccionario de probabilidades y cómo separaste las evidencias para calcular la probabilidad de compra. La estructura quedó clara y ayuda a visualizar la relación entre HistorialCompras, TiempoEnElSitio, ClicóEnPromocion y el resultado final de Compra.

Una dica interesante para el futuro es validar si todas las evidencias existen antes de hacer el cálculo, usando una verificación simple con if, para evitar errores si falta algún dato o si se escribe una clave diferente. Tu implementación ya muestra bien la lógica del razonamiento probabilístico en ambientes inciertos. ¿Qué otra evidencia crees que podría mejorar la predicción de compra en este ejemplo?

Cuenta con el apoyo del foro en tu viaje. Saludos y buenos estudios!