在causalnex中构建基于专业知识的贝叶斯网络

2024-06-08 23:30:43 发布

您现在位置:Python中文网/ 问答频道 /正文

到目前为止,在causalnex包中,我只遇到了由 数据我想知道如何利用我的节点参数和专业知识中的CPD创建自己的网络。有人提到过它或举过一个例子吗


Tags: 数据网络利用参数节点例子专业知识cpd
1条回答
网友
1楼 · 发布于 2024-06-08 23:30:43

看起来,causalnex不直接支持手动设置CPD,但您可以查看底层代码,看到它使用pgmpyBayesianModel来同时表示causalnexBayesianNetwork中的结构和CPD

有了它,您可以通过add_cpds添加您知道的CPD,而不是拟合它们。要获取BayesianModel对象,它应该是:bn._model,其中bn是您的causalnex.BayesianNetwork对象

我不确定这是否会让您只想使用pgmpy而不是causalnex!!似乎causalnex的最大好处是它使用了NOTEARS算法,这有助于为有向图构建加权邻接矩阵。此外,它还为您协调一些绘图

另外,来自docs的一条重要提示提醒您,它不是真正的连续的,而是离散的:

Bayesian Networks in CausalNex support only discrete distributions. Any continuous features, or features with a large number of categories, should be discretised prior to fitting the Bayesian Network. Models containing variables with many possible values will typically be badly fit, and exhibit poor performance.

相关问题 更多 >