variables_probables = {
'HistorialDeCompras': {0: 0.5, 1: 0.7}, # 0: sin historial de compra, 1: con historial de compra
'TiempoEnSitio': {0: 0.4, 1: 0.6}, # 0: poco tiempo, 1: mucho tiempo
'EntroEnLaPromocion': {0: 0.9, 1: 0.1}, # 0: no entró, 1: entró
'EnSitioWebDeCompra': {
(0, 0, 0): 0.1, # No tiene historial, poco tiempo, no entró -> Probabilidad de compra
(0, 0, 1): 0.3, # No tiene historial, poco tiempo, entró -> Probabilidad de compra
(0, 1, 0): 0.2, # No tiene historial, mucho tiempo, no entró -> Probabilidad de compra
(0, 1, 1): 0.6, # No tiene historial, mucho tiempo, entró -> Probabilidad de compra
(1, 0, 0): 0.4, # Tiene historial, poco tiempo, no entró -> Probabilidad de compra
(1, 0, 1): 0.7, # Tiene historial, poco tiempo, entró -> Probabilidad de compra
(1, 1, 0): 0.8, # Tiene historial, mucho tiempo, no entró -> Probabilidad de compra
(1, 1, 1): 0.9 # Tiene historial, mucho tiempo, entró -> Probabilidad de compra
}
}
def calcular_probabilidad_compra(evidencias):
historial = evidencias["HistorialDeCompras"] # Asegúrate de que la clave coincida
tiempo = evidencias["TiempoEnSitio"] # Asegúrate de que la clave coincida
promocion = evidencias["EntroEnLaPromocion"] # Asegúrate de que la clave coincida
probabilidad_compra = variables_probables["EnSitioWebDeCompra"][(historial, tiempo, promocion)]
probabilidad_no_compra = 1 - probabilidad_compra
return {"Comprar": probabilidad_compra, "No Comprar": probabilidad_no_compra}
evidencias_cliente = {
"HistorialDeCompras": 1, # Cliente tiene historial de compras
"TiempoEnSitio": 0, # Cliente pasó poco tiempo en el sitio
"EntroEnLaPromocion": 1 # Cliente entró en promociones
}
resultados = calcular_probabilidad_compra(evidencias_cliente)
print("Probabilidades de Compra:")
for resultado, probabilidad in resultados.items():
print(f"{resultado}: {probabilidad:.2f}")