Bayesian Network Classifiers in Weka

for Version 3-5-7

**Remco R. Bouckaert**

*remco@cs.waikato.ac.nz*

©2006-2007 University of Waikato

Various Bayesian network classifier learning algorithms are implemented in Weka [12].
This note provides some user documentation and implementation details.

Summary of main capabilities:

- 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.
- Part of Weka allowing systematic experiments to compare Bayes net performance with general purpose classifiers like C4.5, nearest neighbor, support vector, etc.
- Source code available under GPL
^{1}allows for integration in other open-source systems and makes it easy to extend.

- Contents
- Introduction

- Local score based structure learning

- Conditional independence test based structure learning
- Global score metric based structure learning
- Fixed structure 'learning'
- Distribution learning
- Running from the command line
- Overview of options for search algorithms
- Overview of options for estimators
- Generating random networks and artificial data sets

- Inspecting Bayesian networks

- Bayes Network GUI
- Moving a node
- Selecting groups of nodes
- File menu
- Edit menu
- Tools menu
- View menu
- Help menu
- Toolbar
- Statusbar
- Click right mouse button
- A note on CPT learning

- Bayesian nets in the experimenter
- Adding your own Bayesian network learners

- FAQ
- How do I use a data set with continuous variables with the BayesNet classes?
- How do I use a data set with missing values with the BayesNet classes?
- How do I create a random Bayes net structure?
- How do I create an artificial data set using a random Bayes nets?
- How do I create an artificial data set using a Bayes nets I have on file?
- How do I save a Bayes net in BIF format?
- How do I compare a network I learned with one in BIF format?
- How do I use the network I learned for general inference?

- Future development
- Bibliography
- About this document ...