Explanation and analysis¶
This tools aimed to provide some different views on the Bayesian network in order to explore its qualitative and/or quantitave behaviours.

class
pyAgrum.
JunctionTreeGenerator
¶ JunctionTreeGenerator is use to generate junction tree or binary junction tree from bayesian networks.
 JunctionTreeGenerator() > JunctionTreeGenerator
 default constructor

binaryJoinTree
(JunctionTreeGenerator self, UndiGraph g, PyObject * partial_order=None)¶ binaryJoinTree(JunctionTreeGenerator self, DAG dag, PyObject * partial_order=None) > CliqueGraph binaryJoinTree(JunctionTreeGenerator self, BayesNet bn, PyObject * partial_order=None) > CliqueGraph
Computes the binary joint tree for its parameters. If the first parameter is a graph, the heurisitcs assume that all the node have the same domain size (2). If given, the heuristic takes into account the partial order for its elimination order.
Parameters:  g (pyAgrum.UndiGraph) – a undirected graph
 dag (pyAgrum.DAG) – a dag
 bn (pyAgrum.BayesNet) – a BayesianNetwork
 partial_order (List[List[int]]) – a partial order among the nodeIDs
Returns: the current binary joint tree
Return type:

eliminationOrder
(JunctionTreeGenerator self, UndiGraph g, PyObject * partial_order=None)¶ eliminationOrder(JunctionTreeGenerator self, DAG dag, PyObject * partial_order=None) > PyObject eliminationOrder(JunctionTreeGenerator self, BayesNet bn, PyObject * partial_order=None) > PyObject
Computes the elimination for its parameters. If the first parameter is a graph, the heurisitcs assume that all the node have the same domain size (2). If given, the heuristic takes into account the partial order for its elimination order.
Parameters:  g (pyAgrum.UndiGraph) – a undirected graph
 dag (pyAgrum.DAG) – a dag
 bn (pyAgrum.BayesNet) – a BayesianNetwork
 partial_order (List[List[int]]) – a partial order among the nodeIDs
Returns: the current elimination order.
Return type:

junctionTree
(JunctionTreeGenerator self, UndiGraph g, PyObject * partial_order=None)¶ junctionTree(JunctionTreeGenerator self, DAG dag, PyObject * partial_order=None) > CliqueGraph junctionTree(JunctionTreeGenerator self, BayesNet bn, PyObject * partial_order=None) > CliqueGraph
Computes the junction tree for its parameters. If the first parameter is a graph, the heurisitcs assume that all the node have the same domain size (2). If given, the heuristic takes into account the partial order for its elimination order.
Parameters:  g (pyAgrum.UndiGraph) – a undirected graph
 dag (pyAgrum.DAG) – a dag
 bn (pyAgrum.BayesNet) – a BayesianNetwork
 partial_order (List[List[int]]) – a partial order among the nodeIDs
Returns: the current junction tree.
Return type:

class
pyAgrum.
EssentialGraph
(*args)¶ Proxy of C++ pyAgrum.EssentialGraph class.

arcs
(EssentialGraph self)¶ Returns: The lisf of arcs in the EssentialGraph Return type: list

children
(EssentialGraph self, int id)¶ Parameters: id (int) – the id of the parent Returns: the set of all the children Return type: Set

connectedComponents
()¶ connected components from a graph/BN
Compute the connected components of a pyAgrum’s graph or Bayesian Network (more generally an object that has nodes, children/parents or neighbours methods)
The firstly visited node for each component is called a ‘root’ and is used as a key for the component. This root has been arbitrarily chosen during the algorithm.
Parameters: graph (pyAgrum's graph) – A graph, a Bayesian network, more generally an object that has nodes, children/parents or neighbours methods in which the search will take place Returns: dict of connected components (as set of nodeIds (int)) with a nodeId (root) of each component as key. Return type: dict(int,Set[int])

edges
(EssentialGraph self)¶ Returns: the list of the edges Return type: List

ids
()¶ Deprecated method in pyAgrum>0.12.0. See nodes instead.

mixedGraph
(EssentialGraph self)¶ Returns: the mixed graph Return type: pyAgrum.MixedGraph

neighbours
(EssentialGraph self, int id)¶ Parameters: id (int) – the id of the checked node Returns: The set of edges adjacent to the given node Return type: Set

nodes
(EssentialGraph self)¶

parents
(EssentialGraph self, int id)¶ Parameters: id – The id of the child node Returns: the set of the parents ids. Return type: Set

size
(EssentialGraph self)¶ Returns: the number of nodes in the graph Return type: int

sizeArcs
(EssentialGraph self)¶ Returns: the number of arcs in the graph Return type: int

sizeEdges
(EssentialGraph self)¶ Returns: the number of edges in the graph Return type: int

sizeNodes
(EssentialGraph self)¶ Returns: the number of nodes in the graph Return type: int

skeleton
(EssentialGraph self)¶

toDot
(EssentialGraph self)¶ Returns: a friendly display of the graph in DOT format Return type: str


class
pyAgrum.
MarkovBlanket
(*args)¶ Proxy of C++ pyAgrum.MarkovBlanket class.

arcs
(MarkovBlanket self)¶ Returns: the list of the arcs Return type: List

children
(MarkovBlanket self, int id)¶ Parameters: id (int) – the id of the parent Returns: the set of all the children Return type: Set

connectedComponents
()¶ connected components from a graph/BN
Compute the connected components of a pyAgrum’s graph or Bayesian Network (more generally an object that has nodes, children/parents or neighbours methods)
The firstly visited node for each component is called a ‘root’ and is used as a key for the component. This root has been arbitrarily chosen during the algorithm.
Parameters: graph (pyAgrum's graph) – A graph, a Bayesian network, more generally an object that has nodes, children/parents or neighbours methods in which the search will take place Returns: dict of connected components (as set of nodeIds (int)) with a nodeId (root) of each component as key. Return type: dict(int,Set[int])

dag
(MarkovBlanket self)¶ Returns: a copy of the DAG Return type: pyAgrum.DAG

hasSameStructure
(MarkovBlanket self, DAGmodel other)¶ Parameters: pyAgrum.DAGmodel – a direct acyclic model Returns: True if all the named node are the same and all the named arcs are the same Return type: bool

nodes
(MarkovBlanket self)¶ Returns: the set of ids Return type: set

parents
(MarkovBlanket self, int id)¶ Parameters: id – The id of the child node Returns: the set of the parents ids. Return type: Set

size
(MarkovBlanket self)¶ Returns: the number of nodes in the graph Return type: int

sizeArcs
(MarkovBlanket self)¶ Returns: the number of arcs in the graph Return type: int

sizeNodes
(MarkovBlanket self)¶ Returns: the number of nodes in the graph Return type: int

toDot
(MarkovBlanket self)¶ Returns: a friendly display of the graph in DOT format Return type: str
