weka.classifiers.bayes.net

## Class ADNode

- java.lang.Object
- - 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: 10153 $
  Author:
    Remco Bouckaert (rrb@xm.co.nz)
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `ADNode()` Creates new ADNode

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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, java.util.ArrayList<java.lang.Integer> nRecords, Instances instances)` create sub tree
    `static VaryNode` | `makeVaryNode(int iNode, java.util.ArrayList<java.lang.Integer> 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,
                                              java.util.ArrayList<java.lang.Integer> 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,
                                          java.util.ArrayList<java.lang.Integer> 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