Class 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
    • Constructor Summary

      Constructors 
      Constructor Description
      ADNode()
      Creates new ADNode
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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​(int iNode, FastVector nRecords, Instances instances)
      create sub tree
      static ADNode makeADTree​(Instances instances)
      create AD tree from set of instances
      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