Library for Bayesian Networks

steffen picture steffen · Dec 19, 2010 · Viewed 7.2k times · Source

Hello fellow Number crunchers

As the headline suggests, I am looking for a library for learning and inference of Bayesian Networks. I have already found some, but I am hoping for a recommendation.

Requirements in a quick overview:

  • preferably written in Java or Python
  • configuration (also of the network itself) is a) possible and b) possible via code (and not solely via a GUI).
  • source code available
  • project is still maintained
  • the more powerful, the better

Which one do you recommend ?

Answer

Dr G picture Dr G · Dec 27, 2010

Have a look at Weka. It's kind of popular in my neck of the woods... It's open source and written in Java.

This will tell you about bayesian networks in Weka, from the abstract:

  • Structure learning of Bayesian networks using various hill climbing (K2, B, etc) and general purpose (simulated annealing, tabu search) algorithms.
  • Local score metrics implemented; Bayes, BDe, MDL, entropy, AIC.
  • Global score metrics implemented; leave one out cv, k-fold cv and cumulative cv.
  • Conditional independence based causal recovery algorithm available.
  • Parameter estimation using direct estimates and Bayesian model averaging.
  • GUI for easy inspection of Bayesian networks.