【问题标题】:Library for Drawing the structure and plugging the conditional probability of a bayesian Network?用于绘制贝叶斯网络的结构和插入条件概率的库?
【发布时间】:2022-06-11 22:10:50
【问题描述】:

我正在尝试绘制贝叶斯网络的结构,但我无法手写条件概率。 我正在尝试 bnlearn、pomgranate...有人知道允许我使用的库吗?

import pandas as pd
from pomegranate import *
import bnlearn

edges = [
     ('A', 'B'),
    ("B", "C"),
    ("C", "D")]

DAG = bn.make_DAG(edges, verbose =0)
df = pd.DataFrame({'A':[0,0,0,1,0], 'B':[0,0,1,0,0], 'C':[1,1,0,0,1], 'D':[0,1,0,1,1]})
df.head()

model = BayesianNetwork.from_samples(df.to_numpy(), state_names=df.columns.values, algorithm='exact')
print(model)

有人知道如何在变量之间添加条件概率吗?

【问题讨论】:

    标签: python bayesian-networks


    【解决方案1】:

    我认为他们中的许多人都有办法做到这一点。您可以尝试例如 pyAgrum (https://agrum.org)。

    bn=gum.BayesNet()
    
    #nodes (binary by default)
    bn.add("s")
    bn.add("c")
    
    #arcs
    bn.addArc("c","s")
    
    #cpts
    bn.cpt("c")[:]=[0.1,0.9]
    bn.cpt("s")[:]=[ [0.5,0.5],[0.9,0.1]]
    

    有关更多信息,请参阅笔记本:https://pyagrum.readthedocs.io/en/1.1.1/notebooks.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-13
      • 2018-05-29
      • 1970-01-01
      • 2013-11-13
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      • 1970-01-01
      相关资源
      最近更新 更多