Class ADNode

  • All Implemented Interfaces:
    Serializable, RevisionHandler, TechnicalInformationHandler

    public class ADNode
    extends Object
    implements 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$
    Author:
    Remco Bouckaert (rrb@xm.co.nz)
    See Also:
    Serialized Form
    • 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,
                                            ArrayList<Integer> nRecords,
                                            Instances instances)
                                     throws Exception
        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
        Throws:
        Exception
      • makeADTree

        public static ADNode makeADTree​(int iNode,
                                        ArrayList<Integer> nRecords,
                                        Instances instances)
                                 throws Exception
        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
        Throws:
        Exception
      • makeADTree

        public static ADNode makeADTree​(Instances instances)
                                 throws Exception
        create AD tree from set of instances
        Parameters:
        instances - data set
        Returns:
        ADNode representing an ADTree
        Throws:
        Exception
      • 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​(String[] argv)
        for testing only
        Parameters:
        argv - the commandline options