Я пытаюсь получить вероятность того, что запись данных будет принадлежать к набору данных, характеризующемуся байесовской сетью.
Вот мой текущий простой код:
library(bnlearn)
library(gRain)
dag = hc(learning.test)
fitted.bnlearn = bn.fit(dag, learning.test, method = "bayes", iss=1)
fitted.grain = as.grain(fitted.bnlearn)
retractEvidence(fitted.grain)
evidence_probability <- setEvidence(fitted.grain, c("A","B", "C", "D", "E", "F"), c("Z", "Z", "Z", "Z", "Z", "Z"))
evidence_probability
pEvidence(evidence_probability)
это выводит:
> pEvidence(evidence_probability)
[1] 1
Что точно не то, что я ожидаю. Я ожидаю, что при использовании сглаживания (iss = 1) будет получена очень малая, но не нулевая вероятность.
Определенно есть что-то, чего я не понимаю (все 6 переменных имеют только значения a, b или c в наборе обучающих данных «learning.test»).