CaMML (Causal discovery via MML) is a machine learning program that learns causal BNs from data.

It uses a stochastic search (MCMC) and score (MML) approach. CaMML was created by Chris Wallace at Monash University, with many others contributing to and evolving the code since then.

CaMML allows one to incorporate expert priors alongside the data. These can be hard priors (e.g., an arc must be present or absent) or soft priors that specify the probability of arcs (or more indirect dependencies) being present. As of this writing, CaMML is the only BN learner software of which we are aware that supports soft priors.

There are several versions of CaMML available. We provide an (unsupported) build of CaMML that has both a GUI and command line interface:

Download BI-CaMML For Windows, Mac and Linux Version 1.4.2, Released 2014-12-12
See here for changelog and previous versions

V1.4 Manual (PDF)

Requires Java 6+

Once downloaded, extract the zip file to any folder, go into the newly created BI-CaMML folder, and run 'camml_gui' (or just 'camml' for the command line version).

You can also download the source code from Github:

There are also some alternative versions available that may have different features:

Linear CaMML

Linear CaMML is based on the same principles as vanilla CaMML, but learns linear Bayesian networks instead of discrete CPT-based Bayesian networks. We provide an (unsupported) build of Linear CaMML that has a text-based interface:

Download Linear CaMML for Windows and Mac (2013-03-01)

Once downloaded, extract the zip file to any folder and run 'cammll' (Windows) or 'cammll-imac-executable' (Mac). See the README file for information on usage.

Source code for this program is not made available.