The Bayes Server Class Library is a .NET library for Bayesian networks and Dynamic Bayesian networks.

To get started, see the example source code contained in the Network class.

Namespaces

NamespaceDescription
BayesServer
Contains classes and interfaces for defining the structure and distributions of a Bayesian network, and to save and load them. To perform inference, such as calculating posterior probabilities and log-likelihoods see the BayesServer.Inference namespace.
BayesServer.Data
Provides interfaces/classes for handling data.
BayesServer.Data.Discovery
Contains classes and interfaces for generating variables from data.
BayesServer.Data.Discovery.Discretization
Contains classes and interfaces for discretizing continuous data.
BayesServer.Data.Sampling
Contains classes for sampling data from Bayesian networks and Dynamic Bayesian networks. See TakeSample(IEvidence, Random, DataSamplingOptions) for sample code.
BayesServer.Inference
Contains interfaces for performing probabilistic inference with a Bayesian network, such as calculating posterior probabilities and log-likelihoods. See the RelevanceTreeInference class for an algorithm that implements the necessary interfaces.
BayesServer.Inference.RelevanceTree
Provides an exact probabilistic inference algorithm for Bayesian networks and Dynamic Bayesian networks, that can compute multiple distributions more efficiently than the VariableEliminationInference algorithm.
BayesServer.Inference.VariableElimination
Provides an exact probabilistic inference algorithm for Bayesian networks, loosely based on the Variable Elimination algorithm.
BayesServer.Learning.Parameters
Provides parameter learning for Bayesian networks and Dynamic Bayesian networks. See Learn(IEvidenceReader, ParameterLearningOptions) for sample code.