1
resposta

[Projeto] Construindo uma Rede Bayesiana

def prever_compra(historico, tempo, promocao):
    # Probabilidades base
    P_sim = 0.4
    P_nao = 0.6

    # Condicionais
    prob = {
        "H": {"sim": {"sim": 0.7, "nao": 0.2}},
        "T": {"alto": {"sim": 0.8, "nao": 0.3}},
        "P": {"sim": {"sim": 0.6, "nao": 0.1}}
    }

    # Selecionando valores
    h = "sim" if historico else "nao"
    t = "alto" if tempo == "alto" else "baixo"
    p = "sim" if promocao else "nao"

    # Probabilidade de compra
    p_sim = P_sim * prob["H"][h]["sim"] * prob["T"][t]["sim"] * prob["P"][p]["sim"]
    p_nao = P_nao * prob["H"][h]["nao"] * prob["T"][t]["nao"] * prob["P"][p]["nao"]

    # Normalização
    total = p_sim + p_nao
    return p_sim / total


# Teste
resultado = prever_compra(True, "alto", True)
print(f"Probabilidade de compra: {resultado:.2f}")
1 resposta

Olá, Cássio! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções para estruturar cálculos probabilísticos com Python, utilizou muito bem o dicionário para organizar os valores condicionais e ainda compreendeu a importância da normalização para garantir que os resultados fiquem dentro de uma escala válida.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Sugestão de conteúdo para você mergulhar ainda mais no tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!