Nagarajan等人书(Bayesian in R,O‘’Reilly,2013年,第35页)说,当我拿起implementation包的标记数据集,并要求通过编写增长收缩实现来学习结构时
library(bnlearn)
data(marks)
bn.gs = gs(marks)那么我应该得到一个有向图:
model: [STAT][ANL|STAT][ALG|ANL:STAT][VECT|ALG] [MECH|VECT:ALG]
nodes: 5
arcs: 6
undirected arcs: 0
directed arcs: 6相反,我得到了一个无向图:
model: [undirected graph]
nodes: 5
arcs: 6
undirected arcs: 6
directed arcs: 0 即使将选项undirected=FALSE添加到gs方法中,我仍然得到相同的结果。我做错了什么?或者R实现中有错误吗?我在我的Mac电脑和Debian电脑上都试过了,结果是一样的.
发布于 2014-02-06 10:14:28
答案是作者在他们的网站上提供的(我刚刚发现):http://www.bnlearn.com/book-useR/
“第35页:bnearch3.2及更高版本在设置弧形方向方面比较挑剔;因此,bn.gs是一个无向图,必须将其扩展到一个带有cextend()的DAG中,才能结束该示例。”
换句话说,将最后一行代码替换为
bn.gs = cextend(gs(marks))遗憾的是,斯普林格没有为勘误表提供标准服务,就像O‘’Reilly那样。这本书的作者必须创建他们自己的网站,我花了一些时间才找到它.
发布于 2014-03-29 22:18:40
这不是一个错误。测试方向上的p值对于两个方向都是相同的,因此返回了一个无向边缘。也就是说,我所做的就是使用c可扩展性(),
https://stackoverflow.com/questions/21591220
复制相似问题