我使用pomegranate中的from_samples()
构建了一个贝叶斯网络。我能够使用model.predict()
从模型中获取最可能的预测。我想知道是否有办法有条件地(或无条件地)从这个贝叶斯网络中进行采样?即,是否可以从网络中获取随机样本,而不仅仅是最可能的预测?
我查看了model.sample()
,但它引发了NotImplementedError
错误。
如果使用pomegranate
无法做到这一点,那么在Python中还有哪些其他优秀的贝叶斯网络库?
回答:
如果我正确查看了提交历史,model.sample()
应该已经实现了。
你可以看看PyMC,它也支持分布混合。然而,我不知道有其他工具箱像pomegranate中的from_samples()
那样具有类似的工厂方法。