Class PointsClosestToFurthestChildren

  • All Implemented Interfaces:
    java.io.Serializable, OptionHandler, RevisionHandler, TechnicalInformationHandler

    public class PointsClosestToFurthestChildren
    extends BallSplitter
    implements TechnicalInformationHandler
    Implements the Moore's method to split a node of a ball tree.

    For more information please see section 2 of the 1st and 3.2.3 of the 2nd:

    Andrew W. Moore: The Anchors Hierarchy: Using the Triangle Inequality to Survive High Dimensional Data. In: UAI '00: Proceedings of the 16th Conference on Uncertainty in Artificial Intelligence, San Francisco, CA, USA, 397-405, 2000.

    Ashraf Masood Kibriya (2007). Fast Algorithms for Nearest Neighbour Search. Hamilton, New Zealand.

    BibTeX:

     @inproceedings{Moore2000,
        address = {San Francisco, CA, USA},
        author = {Andrew W. Moore},
        booktitle = {UAI '00: Proceedings of the 16th Conference on Uncertainty in Artificial Intelligence},
        pages = {397-405},
        publisher = {Morgan Kaufmann Publishers Inc.},
        title = {The Anchors Hierarchy: Using the Triangle Inequality to Survive High Dimensional Data},
        year = {2000}
     }
     
     @mastersthesis{Kibriya2007,
        address = {Hamilton, New Zealand},
        author = {Ashraf Masood Kibriya},
        school = {Department of Computer Science, School of Computing and Mathematical Sciences, University of Waikato},
        title = {Fast Algorithms for Nearest Neighbour Search},
        year = {2007}
     }
     

    Version:
    $Revision: 1.2 $
    Author:
    Ashraf M. Kibriya (amk14[at-the-rate]cs[dot]waikato[dot]ac[dot]nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • PointsClosestToFurthestChildren

        public PointsClosestToFurthestChildren()
        Constructor.
      • PointsClosestToFurthestChildren

        public PointsClosestToFurthestChildren​(int[] instList,
                                               Instances insts,
                                               EuclideanDistance e)
        Constructor.
        Parameters:
        instList - The master index array.
        insts - The instances on which the tree is (or is to be) built.
        e - The Euclidean distance function to use for splitting.
    • Method Detail

      • globalInfo

        public java.lang.String globalInfo()
        Returns a string describing this object.
        Returns:
        A description of the algorithm for displaying in the explorer/experimenter gui.
      • 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.
      • splitNode

        public void splitNode​(BallNode node,
                              int numNodesCreated)
                       throws java.lang.Exception
        Splits a ball into two.
        Specified by:
        splitNode in class BallSplitter
        Parameters:
        node - The node to split.
        numNodesCreated - The number of nodes that so far have been created for the tree, so that the newly created nodes are assigned correct/meaningful node numbers/ids.
        Throws:
        java.lang.Exception - If there is some problem in splitting the given node.