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)