Я узнал и установил байесовскую сеть в пакете bnlearn R, и я хочу предсказать ее значение «событие».Ошибка в функции прогнозирования bn.fit в bnlear R
fl="data/discrete_kdd_10.txt"
h=TRUE
dtbl1 = read.csv(file=fl, head=h, sep=",")
net=hc(dtbl1)
fitted=bn.fit(net,dtbl1)
Я хочу, чтобы предсказать значение узла «событий» на основе данных, хранящихся в другом файл с той же структурой, что и файл, используемым для обучения.
fileName="data/dcmp.txt"
dtbl2 = read.csv(file=fileName, head=h, sep=",")
predict(fitted,"event",dtbl2)
Однако, предсказать не удается с Error in check.data(data) : variable duration must have at least two levels.
Я не понимаю, почему не должно быть никаких ограничений на количество уровней переменных в доказательствах data.frame.
Файл данных dtbl2
data.frame содержит только несколько строк, по одному для каждого сценария, в котором я хочу предсказать значение «событие».
Я знаю, что могу использовать cpquery, но я хочу использовать функцию predict
также для сетей со смешанными переменными (как дискретными, так и непрерывными). Я не узнал, как использовать доказательства непрерывной переменной в cpqery.
Может кто-нибудь объяснить, что я делаю неправильно с функцией predict
и как мне это сделать правильно? Спасибо заранее!