weka.classifiers.bayes.net
Class ADNode

java.lang.Object
  extended by weka.classifiers.bayes.net.ADNode
All Implemented Interfaces:
java.io.Serializable, RevisionHandler, TechnicalInformationHandler

public class ADNode
extends java.lang.Object
implements java.io.Serializable, TechnicalInformationHandler, RevisionHandler

The ADNode class implements the ADTree datastructure which increases the speed with which sub-contingency tables can be constructed from a data set in an Instances object. For details, see:

Andrew W. Moore, Mary S. Lee (1998). Cached Sufficient Statistics for Efficient Machine Learning with Large Datasets. Journal of Artificial Intelligence Research. 8:67-91.

BibTeX:

 @article{Moore1998,
    author = {Andrew W. Moore and Mary S. Lee},
    journal = {Journal of Artificial Intelligence Research},
    pages = {67-91},
    title = {Cached Sufficient Statistics for Efficient Machine Learning with Large Datasets},
    volume = {8},
    year = {1998}
 }
 

Version:
$Revision: 1.7 $
Author:
Remco Bouckaert (rrb@xm.co.nz)
See Also:
Serialized Form

Field Summary
 Instance[] m_Instances
          list of Instance children (either m_Instances or m_VaryNodes is instantiated)
 int m_nCount
          count
 int m_nStartNode
          first node in VaryNode array
 VaryNode[] m_VaryNodes
          list of VaryNode children
 
Constructor Summary
ADNode()
          Creates new ADNode
 
Method Summary
 void getCounts(int[] nCounts, int[] nNodes, int[] nOffsets, int iNode, int iOffset, boolean bSubstract)
          get counts for specific instantiation of a set of nodes
 java.lang.String getRevision()
          Returns the revision string.
 TechnicalInformation getTechnicalInformation()
          Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
static void main(java.lang.String[] argv)
          for testing only
static ADNode makeADTree(Instances instances)
          create AD tree from set of instances
static ADNode makeADTree(int iNode, FastVector nRecords, Instances instances)
          create sub tree
static VaryNode makeVaryNode(int iNode, FastVector nRecords, Instances instances)
          create sub tree
 void print()
          print is used for debugging only and shows the ADTree in ASCII graphics
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_VaryNodes

public VaryNode[] m_VaryNodes
list of VaryNode children


m_Instances

public Instance[] m_Instances
list of Instance children (either m_Instances or m_VaryNodes is instantiated)


m_nCount

public int m_nCount
count


m_nStartNode

public int m_nStartNode
first node in VaryNode array

Constructor Detail

ADNode

public ADNode()
Creates new ADNode

Method Detail

getTechnicalInformation

public TechnicalInformation getTechnicalInformation()
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.

Specified by:
getTechnicalInformation in interface TechnicalInformationHandler
Returns:
the technical information about this class

makeVaryNode

public static VaryNode makeVaryNode(int iNode,
                                    FastVector nRecords,
                                    Instances instances)
create sub tree

Parameters:
iNode - index of the lowest node in the tree
nRecords - set of records in instances to be considered
instances - data set
Returns:
VaryNode representing part of an ADTree

makeADTree

public static ADNode makeADTree(int iNode,
                                FastVector nRecords,
                                Instances instances)
create sub tree

Parameters:
iNode - index of the lowest node in the tree
nRecords - set of records in instances to be considered
instances - data set
Returns:
ADNode representing an ADTree

makeADTree

public static ADNode makeADTree(Instances instances)
create AD tree from set of instances

Parameters:
instances - data set
Returns:
ADNode representing an ADTree

getCounts

public void getCounts(int[] nCounts,
                      int[] nNodes,
                      int[] nOffsets,
                      int iNode,
                      int iOffset,
                      boolean bSubstract)
get counts for specific instantiation of a set of nodes

Parameters:
nCounts - - array for storing counts
nNodes - - array of node indexes
nOffsets - - offset for nodes in nNodes in nCounts
iNode - - index into nNode indicating current node
iOffset - - Offset into nCounts due to nodes below iNode
bSubstract - - indicate whether counts should be added or substracted

print

public void print()
print is used for debugging only and shows the ADTree in ASCII graphics


main

public static void main(java.lang.String[] argv)
for testing only

Parameters:
argv - the commandline options

getRevision

public java.lang.String getRevision()
Returns the revision string.

Specified by:
getRevision in interface RevisionHandler
Returns:
the revision