r - 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 值)。
解决方案
推荐阅读
- google-cloud-ml - 从 Google SA 360 搜索报告 API reportType 中获取错误:关键字报告对 Reports.generate() 的调用无效",
- tcp - Modbus TCP 响应时间
- c++ - 在 C++ 中为大小为 n 的数组的前 m 个元素赋值
- sql-server - SQL Server 导入和导出向导不支持区域性
- shopify - 如何在 LinuxMint 上安装 Shopify SDK
- c# - 如何确保每个 xunit 测试都有一个新的 InMemory 种子数据库?
- python - 在 pandas 交叉表中结合计数和百分比(归一化)
- javascript - 无法在 javascript 中读取多数组
- node.js - 仅为特定文件夹更改运行 Husky 挂钩
- javascript - 这是一个有效的 if 语句吗?