Eu montei uma Rede Bayesiana simples em Python, considerando três evidências que influenciam a decisão de compra do cliente: histórico de compras, tempo no site e interação com promoções. A variável de interesse é “Compra”, cuja probabilidade depende da combinação dessas evidências. Com isso, é possível estimar a chance de o cliente comprar ou não comprar.
# 1. Estrutura de probabilidades da Rede Bayesiana
probabilidades = {
"HistoricoCompras": {0: 0.7, 1: 0.3}, # 0 = não tem histórico, 1 = tem histórico
"TempoNoSite": {0: 0.6, 1: 0.4}, # 0 = pouco tempo, 1 = muito tempo
"ClicouEmPromocao": {0: 0.8, 1: 0.2}, # 0 = não clicou, 1 = clicou
"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
}
}
# 2. Função para calcular a probabilidade de compra
def calcular_probabilidade_compra(evidencias):
historico = evidencias["HistoricoCompras"]
tempo = evidencias["TempoNoSite"]
promocao = evidencias["ClicouEmPromocao"]
prob_compra = probabilidades["Compra"][(historico, tempo, promocao)]
prob_nao_compra = 1 - prob_compra
return {
"Comprar": prob_compra,
"Não Comprar": prob_nao_compra
}
# 3. Cenário de teste
evidencias = {
"HistoricoCompras": 1, # tem histórico
"TempoNoSite": 0, # pouco tempo no site
"ClicouEmPromocao": 1 # clicou em promoção
}
resultado = calcular_probabilidade_compra(evidencias)
print("Probabilidades de compra:")
for chave, valor in resultado.items():
print(f"{chave}: {valor:.2f}")
Achei essa atividade interessante porque ela mostra que nem toda decisão em IA é baseada em regras fixas. A Rede Bayesiana permite analisar diferentes evidências e calcular probabilidades a partir delas. No contexto de uma loja online, isso faz bastante sentido, já que o comportamento do cliente pode indicar maior ou menor chance de compra.