尝试使用bnlearn包进行预测时出错 - 贝叶斯网络

时间:2014-09-18 09:19:50

标签: r bayesian-networks

我正在尝试使用 bnlearn包 进行预测模型,但我收到错误消息,指出:“check.data(数据)出错:数据丢失” 。 这是我用来预测模型的示例数据集和代码行:

dat <- read.table(text = " category birds    wolfs     snakes
                    yes        3        9         7
                    no         3        8         4
                   no         1        2         8
                   yes        1        2         3
                   yes        1        8         3
                   no         6        1         2
                   yes        6        7         1
                   no         6        1         5
                   yes        5        9         7
                   no         3        8         7
                   no         4        2         7
                   notsure    1        2         3
                   notsure    7        6         3
                   no         6        1         1
                   notsure    6        3         9
                   no         6        1         1   ",header = TRUE)

以下是我用来预测的代码行:

dat$birds<-as.numeric(dat$birds)
dat$wolfs<-as.numeric(dat$wolfs)
dat$snakes<-as.numeric(dat$snakes)
training.set = dat[1:8,2:4 ]
demo.set = dat[8:16,2:4 ]
res <- hc(training.set)
fitted = bn.fit(res, training.set)

pred = predict(fitted, demo.set) # I get an error: "Error in check.data(data) : the data are missing."

任何想法如何解决?

2 个答案:

答案 0 :(得分:2)

预测(expertbn,node =&#34;列名预测&#34;,data = testdata)为我工作

答案 1 :(得分:1)

我没有安装bnlearn,但是从您的代码中我猜测问题是您没有将输出(类别列)提供到训练集中。变化:

   training.set = dat[1:8,]

看看它是否有效。