Package weka.classifiers.bayes.net

# Class MarginCalculator

java.lang.Object
weka.classifiers.bayes.net.MarginCalculator

All Implemented Interfaces:
  `Serializable`, `RevisionHandler`

public class MarginCalculator extends Object implements Serializable, RevisionHandler

See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`MarginCalculator.JunctionTreeNode`
`class`
`MarginCalculator.JunctionTreeSeparator`

## Field Summary

Fields
Modifier and Type
Field
Description
`MarginCalculator.JunctionTreeNode`
`m_root`

## Constructor Summary

Constructors
Constructor
Description
`MarginCalculator()`

## Method Summary

Modifier and Type
Method
Description
`void`
`calcFullMargins(BayesNet bayesNet)`
`void`
`calcMargins(BayesNet bayesNet)`
Calc marginal distributions of nodes in Bayesian network Note that a connected network is assumed.
`boolean[][]`
`fillIn(int[] order, boolean[][] bAdjacencyMatrix)`
Apply Tarjan and Yannakakis (1984) fill in algorithm for graph triangulation.
`double[]`
`getMargin(int iNode)`
`int`
`getNode(String sNodeName)`
`String`
`getRevision()`
Returns the revision string.
`static void`
`main(String[] args)`
`boolean[][]`
`moralize(BayesNet bayesNet)`
moralize DAG and calculate adjacency matrix representation for a Bayes Network, effecively converting the directed acyclic graph to an undirected graph.
`void`
`process(boolean[][] bAdjacencyMatrix, BayesNet bayesNet)`
`void`
`setEvidence(int nNode, int iValue)`
`String`
`toString()`
`String`
`toXMLBIF03()`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### m_root

public MarginCalculator.JunctionTreeNode m_root

## Constructor Details

### MarginCalculator

public MarginCalculator()

## Method Details

### getNode

public int getNode(String sNodeName)

### toXMLBIF03

public String toXMLBIF03()

### calcMargins

public void calcMargins(BayesNet bayesNet) throws Exception
Calc marginal distributions of nodes in Bayesian network Note that a connected network is assumed. Unconnected networks may give unexpected results.

Parameters:
  `bayesNet` -
Throws:
  `Exception`

### calcFullMargins

public void calcFullMargins(BayesNet bayesNet) throws Exception

Throws:
  `Exception`

### process

public void process(boolean[][] bAdjacencyMatrix, BayesNet bayesNet) throws Exception

Throws:
  `Exception`

### moralize

public boolean[][] moralize(BayesNet bayesNet)
moralize DAG and calculate adjacency matrix representation for a Bayes Network, effecively converting the directed acyclic graph to an undirected graph.

Parameters:
  `bayesNet` - : Bayes Network to process
Returns:
  adjacencies in boolean matrix format

### fillIn

public boolean[][] fillIn(int[] order, boolean[][] bAdjacencyMatrix)
Apply Tarjan and Yannakakis (1984) fill in algorithm for graph triangulation. In reverse order, insert edges between any non-adjacent neighbors that are lower numbered in the ordering. Side effect: input matrix is used as output

Parameters:
  `order` - : node ordering
  `bAdjacencyMatrix` - : boolean matrix representing the graph
Returns:
  boolean matrix representing the graph with fill ins

### setEvidence

public void setEvidence(int nNode, int iValue) throws Exception

Throws:
  `Exception`

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### getMargin

public double[] getMargin(int iNode)

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Returns:
  the revision

### main

public static void main(String[] args)