Reputation: 64709
Can anyone recommend a Bayesian belief network classifier implemented in Python that can generate a probability of belief based on the input of a sparse network describing a series of facts about several inter-related objects?
e.g. given the facts "X is hungry, is a monkey and eats" formulated in FOL like:
isHungry(x) ^ isMonkey(x) ^ eats(x,y)
as well as a training corpus like:
isHungry(a) ^ isMonkey(a) ^ eats(a,b) => true
isHungry(b) ^ ~isMonkey(b) ^ eats(b,c) => true
isMonkey(d) ^ eats(d,e) => true
isMonkey(f) ^ eats(f,g) => false
isMonkey(h) ^ ~eats(h,i) => true
isBanana(j) ^ ~eats(j,k) => true
I'd like to train a Bayesian belief network on the corpus, and use it to estimate the belief probability of the facts.
Note, I'm not talking about Naive Bayesian text classifiers.
Upvotes: 2
Views: 4948
Reputation: 1694
The python library bnlearn can be helpfull. Disclaimer: I am the author of this library.
Upvotes: 0
Reputation: 37137
eBay has one open sourced, never used it though: https://github.com/eBay/bayesian-belief-networks
Upvotes: 1
Reputation: 11875
The Python Bayes Network Toolbox would be a good starting point.
In addition, there is this more generic Bayesian inference tools package, named bayespy .
Hth.
Upvotes: 2