## Creating and manipulating objects

- Creating Bayesian network structures
- Creating an empty network
- Creating a network structure
- With a specific arc set
- With a specific adjacency matrix
- With a specific model formula

- Creating one or more random network structures
- With a specified node ordering
- Sampling from the space of connected directed acyclic graphs with uniform probability
- Sampling from the space of the directed acyclic graphs with uniform probability

- Creating custom fitted Bayesian networks
- Creating custom fitted Bayesian networks using expert knowledge
- Discrete networks
- Continuous networks
- Hybrid networks (mixed continuous and discrete nodes)

- Creating custom fitted Bayesian networks using both data and expert knowledge

## Structure learning

## Parameter learning

- Fitting Bayesian network's parameters
- Learning the network structure
- Setting the direction of undirected arcs
- Fitting the parameters (Maximum Likelihood estimates)
- Discrete data
- Continuous data
- Hybrid data (mixed discrete and continuous)

- Fitting the parameters (Bayesian Posterior estimates)
- Discrete data

## Model validation

- Bootstrap-based inference
- The general case
- Measuring arc strength

- Bayesian networks and cross-validation
- Choosing a Bayesian network learning strategy
*k*-fold cross-validation
- Custom folds in cross-validation
- Hold-out cross-validation

- Comparing different network structures
- Cross-validation and predictive error
- Cross-validation and predictive correlation

## Interfacting with other R Packages