weka.classifiers.bayes.net
Class MarginCalculator
java.lang.Object
weka.classifiers.bayes.net.MarginCalculator
- All Implemented Interfaces:
- java.io.Serializable
public class MarginCalculator
- extends java.lang.Object
- implements java.io.Serializable
- See Also:
- Serialized Form
Method Summary |
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(java.lang.String sNodeName)
|
static void |
main(java.lang.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)
|
java.lang.String |
toString()
|
java.lang.String |
toXMLBIF03()
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
m_root
public MarginCalculator.JunctionTreeNode m_root
MarginCalculator
public MarginCalculator()
getNode
public int getNode(java.lang.String sNodeName)
toXMLBIF03
public java.lang.String toXMLBIF03()
calcMargins
public void calcMargins(BayesNet bayesNet)
throws java.lang.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:
java.lang.Exception
calcFullMargins
public void calcFullMargins(BayesNet bayesNet)
throws java.lang.Exception
- Throws:
java.lang.Exception
process
public void process(boolean[][] bAdjacencyMatrix,
BayesNet bayesNet)
throws java.lang.Exception
- Throws:
java.lang.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 orderingbAdjacencyMatrix:
- boolean matrix representing the graph
- Returns:
- boolean matrix representing the graph with fill ins
setEvidence
public void setEvidence(int nNode,
int iValue)
throws java.lang.Exception
- Throws:
java.lang.Exception
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
getMargin
public double[] getMargin(int iNode)
main
public static void main(java.lang.String[] args)