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

问题描述 投票:1回答:2

我正在尝试使用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."

任何想法如何解决?

r bayesian-networks
2个回答
2
投票

预测(fitsbn,node =“要预测的列名”,data = testdata)对我有用


1
投票

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

   training.set = dat[1:8,]

看看它是否有效

© www.soinside.com 2019 - 2024. All rights reserved.