I constructed a Bayesian network using from_samples() in pomegranate. I'm able to get maximally likely predictions from the model using model.predict(). I wanted to know if there is a way to sample from this Bayesian network conditionally(or unconditionally)? i.e. is there a get random samples from the network and not the maximally likely predictions?
I looked at model.sample(), but it was raising NotImplementedError.
Also if this is not possible to do using pomegranate, what other libraries are great for Bayesian networks in Python?


The
model.sample()should have been implemented by now if I see the commit history correctly.You can have a look at PyMC which supports distribution mixtures as well. However, I dont know any other toolbox with a similar factory method like
from_samples()in pomogranate.