Bayesian Network Structure Learning Code and Data Library

This page contains some software packages of PGM, which were found during my research on BNSL (Bayesian Network Structure Learning).

BNSL Source Code Library


Weka Wiki, Codes of BNSL in Weka lie in You can refer to to be added about the usage of Weka BNSL.


Developed by Kevin Murphy, Refer to How to use the Bayes Net Toolbox, Codes of BNSL lie in SLP. By the way, SLP is separately developed based on BNT, and it has been already included in BNT. Another package developed based on BNT is Mateda2.0. Kevin Murphy has also developed BDAGL:Bayesian DAG learning, but I never tried it.

Causal Explorer

Source codes of the algorithm described in this paper are not provided (only .p files of the Matlab are available). My implementation of this algorithm in java can be accessed from MMPC. Here is MMHC paper home.


I tried it for interchanging file formats of BN. The Interchange Format for Bayesian Networks is to summarize and distribute information on an effort to standardize formats for representation of Bayesian networks and other related graphical models, but it seems to have stalled.


If you wanna get ideas of the implementation of Sparse Candidate, you can look through this one. But the documentation is not that good. E.g., Dev Docs doesn’t give the clear update infos.


Simple and clear, could be used as the reference in developments.


The project is hosted on Bitbucket.


Leaded by Peter Spirtes. Here is the induction from it’s home page

…is to develop, analyze, implement, test and apply practical, provably correct computer programs for inferring causal structure under conditions where this is possible.


Some classical algorithms such as PC, K2 are included.

PGM Toolbox

It perfectly explains OOP (Object Oriented Programming) in matlab.

Infer & URLearning & WinMine

I have never tried them. Here are some other summaries of software packages of PGM: Graphical Models Software Tools, Bayes Nets.

Bayesian Network Repository

BNLearn and Software Packages for Graphical Models and GalElidan.