Cerin
Cerin

Reputation: 64709

Python Bayesian belief network Classifier

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

Answers (3)

erdogant
erdogant

Reputation: 1694

The python library bnlearn can be helpfull. Disclaimer: I am the author of this library.

Upvotes: 0

fmsf
fmsf

Reputation: 37137

eBay has one open sourced, never used it though: https://github.com/eBay/bayesian-belief-networks

Upvotes: 1

Zhubarb
Zhubarb

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

Related Questions