首页 > 解决方案 > BNlearn,贝叶斯网络的 gRain 证据问题

问题描述

我试图让数据记录属于以贝叶斯网络为特征的数据集的可能性。

这是我当前的简单代码:

library(bnlearn)
library(gRain)
dag = hc(learning.test)
fitted.bnlearn = bn.fit(dag, learning.test, method = "bayes", iss=1)
fitted.grain = as.grain(fitted.bnlearn)
retractEvidence(fitted.grain)
evidence_probability <- setEvidence(fitted.grain, c("A","B", "C", "D", "E", "F"), c("Z", "Z", "Z", "Z", "Z", "Z"))
evidence_probability
pEvidence(evidence_probability)

这输出:

> pEvidence(evidence_probability)
[1] 1

绝对不是我所期待的。我期望的是,通过使用平滑(iss=1),它应该输出一个非常小的但不是零概率。

肯定有一些我不明白的东西(所有 6 个变量在“learning.test”训练数据集中只有 a、b 或 c 值)。

标签: rbayesian-networksbnlearn

解决方案


推荐阅读