Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Faça como eu fiz: construindo uma Rede Bayesiana

Histórico de Compras


--> Compra
/
Tempo no Site


--> Interação com Promoções

from itertools import product

P_historico = {
"Sim": 0.6,
"Nao": 0.4
}

P_tempo = {
"Muito": 0.7,
"Pouco": 0.3
}
P_promocao = {
("Muito", "Sim"): 0.8,
("Muito", "Nao"): 0.2,
("Pouco", "Sim"): 0.3,
("Pouco", "Nao"): 0.7
}
P_compra = {
("Sim", "Muito", "Sim"): 0.95,
("Sim", "Muito", "Nao"): 0.80,
("Sim", "Pouco", "Sim"): 0.75,
("Sim", "Pouco", "Nao"): 0.50,
("Nao", "Muito", "Sim"): 0.70,
("Nao", "Muito", "Nao"): 0.40,
("Nao", "Pouco", "Sim"): 0.30,
("Nao", "Pouco", "Nao"): 0.10
}

print("Probabilidades de Compra:\n")

for historico, tempo in product(
["Sim", "Nao"],
["Muito", "Pouco"]
):

for promocao in ["Sim", "Nao"]:

    prob = P_compra[(historico, tempo, promocao)]

    print(
        f"Histórico={historico}, "
        f"Tempo={tempo}, "
        f"Promoção={promocao} "
        f"-> Compra={prob:.0%}"
    )
    

Probabilidades de Compra:

Histórico=Sim, Tempo=Muito, Promoção=Sim -> Compra=95%
Histórico=Sim, Tempo=Muito, Promoção=Nao -> Compra=80%
Histórico=Sim, Tempo=Pouco, Promoção=Sim -> Compra=75%
Histórico=Sim, Tempo=Pouco, Promoção=Nao -> Compra=50%
Histórico=Nao, Tempo=Muito, Promoção=Sim -> Compra=70%
Histórico=Nao, Tempo=Muito, Promoção=Nao -> Compra=40%
Histórico=Nao, Tempo=Pouco, Promoção=Sim -> Compra=30%
Histórico=Nao, Tempo=Pouco, Promoção=Nao -> Compra=10%