1

使用包 bnlearn,是否可以将节点设置为不能有任何父节点?我发现使用黑名单功能在技术上是可行的。阻止“A”在包含的测试数据中有任何父母的示例:

library(bnlearn)
blacklist = data.frame(from = c("B", "C", "D", "E", "F"), to = c("A"))
dat = gs(learning.test, blacklist = blacklist)

但是,我正在处理具有数万个节点的数据,这些节点不应该是彼此的父节点,从而导致黑名单长达数百万行。我本质上是在寻找类似的东西:

黑名单 = data.frame(from = c("*", "A"))

这意味着没有节点可以成为 A 的父节点。这可能吗?如果没有,是否有任何人可以推荐的具有此功能的贝叶斯学习包?

4

1 回答 1

0

还使用黑名单但更通用,您可以这样做:

node.names <- names(learning.test)
blacklist <- data.frame(from = node.names[-grep("A", node.names)], 
                        to   = c("A"))
于 2019-06-27T11:39:14.720 回答