Basian network problem
from pgmpy.models import BayesianNetwork
from pgmpy.factors.discrete import TabularCPD
from pgmpy.inference import VariableElimination
model = BayesianNetwork()
model.add_nodes_from(["cloudy", "sprinkler"])
model.add_edge("cloudy", "sprinkler")
cpd_cloudy = TabularCPD(variable="cloudy", variable_card=2, values=[[0.5], [0.5]])
cpd_sprinkler = TabularCPD(variable="sprinkler", variable_card=2, values=[[0.1, 0.5], [0.9, 0.5]], evidence=["cloudy"],
evidence_card=[2])
model.add_cpds(cpd_cloudy, cpd_sprinkler)
model.check_model()
inference = VariableElimination(model)
result = inference.query(variables=["sprinkler"], evidence={"cloudy": 1})
print(result)
Comments
Post a Comment