Exact Learning of Bounded Tree-width Bayesian Networks
Software
This page contains the best-w-tree software package discussed in Section 6 of the paper
- Janne H. Korhonen, Pekka Parviainen. Exact Learning of Bounded Tree-width Bayesian Networks. AISTATS 2013 (to appear).
The package is available for download under GPL version 3 license. The documentation below is also included in the package.
README best_w_tree is a simple software tool for finding optimal bounded tree-width Bayesian networks. INSTALLATION To use this software, you will need to have Python 2.7 and Cython (http://www.cython.org) installed. The you can compile the software by running $ python setup.py build_ext --inplace USAGE To find an optimal network with tree-width 2 for included test data, simply run $ python best_w_tree.py 2 data/test.dat The first parameter defines the tree-width bound and the second is the input file. To run the software with the scores obtained from Adult and Housing data sets of UCI Machine Learning Repository (http://archive.ics.uci.edu/ml), try the following commands $ python best_w_tree.py -n 10 -z 2 data/housing.dat $ python best_w_tree.py -n 10 -z 2 data/adult.dat The option -n limits the number of included variables and -z tells the program to treat score value "0.0" in the input files as minus infinity. For a full list of options, run $ python best_w_tree.py --help INPUT FORMAT The score file should contain one line per variable. If there are n variables, each line should contain a whitespace-separated list of 2^n values. The j:th value on line i is interpreted as the local score f_i(J), where J is the set obtained by selecting all elements x in {0,1,2,...,n-1} such that the bit x is 1 in j. For example, 106 = 1101010 = { 1, 3, 5, 6} Note that there is a degree of redundancy here; entries with i:th bit set are required on line i, but they will never be used by the software, as i cannot be in its own parent set. Any "-" in the input is interpreted as minus infinity, as is "0.0", if the option -z is given to the software. LICENSING best_w_tree is distributed under GPL version 3, see the source code.