Class TopDownConstructor

java.lang.Object
weka.core.neighboursearch.balltrees.BallTreeConstructor
weka.core.neighboursearch.balltrees.TopDownConstructor
All Implemented Interfaces:
Serializable, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class TopDownConstructor extends BallTreeConstructor implements TechnicalInformationHandler
The class implementing the TopDown construction method of ball trees. It further uses one of a number of different splitting methods to split a ball while constructing the tree top down.

For more information see also:

Stephen M. Omohundro (1989). Five Balltree Construction Algorithms.

BibTeX:

 @techreport{Omohundro1989,
    author = {Stephen M. Omohundro},
    institution = {International Computer Science Institute},
    month = {December},
    number = {TR-89-063},
    title = {Five Balltree Construction Algorithms},
    year = {1989}
 }
 

Valid options are:

 -S <classname and options>
  Ball splitting algorithm to use.
 
Version:
$Revision: 10203 $
Author:
Ashraf M. Kibriya (amk14[at-the-rate]cs[dot]waikato[dot]ac[dot]nz)
See Also:
  • Constructor Details

    • TopDownConstructor

      public TopDownConstructor()
      Creates a new instance of TopDownConstructor.
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this nearest neighbour search algorithm.
      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
    • buildTree

      public BallNode buildTree() throws Exception
      Builds the ball tree top down.
      Specified by:
      buildTree in class BallTreeConstructor
      Returns:
      The root node of the tree.
      Throws:
      Exception - If there is problem building the tree.
    • addInstance

      public int[] addInstance(BallNode node, Instance inst) throws Exception
      Adds an instance to the ball tree.
      Specified by:
      addInstance in class BallTreeConstructor
      Parameters:
      node - The root node of the tree.
      inst - The instance to add to the tree.
      Returns:
      The new master index array after adding the instance.
      Throws:
      Exception - If there is some problem adding the given instance to the tree.
    • ballSplitterTipText

      public String ballSplitterTipText()
      Returns the tip text for this property.
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • getBallSplitter

      public BallSplitter getBallSplitter()
      Returns the BallSplitter algorithm set that would be used by the TopDown BallTree constructor.
      Returns:
      The BallSplitter currently in use.
    • setBallSplitter

      public void setBallSplitter(BallSplitter splitter)
      Sets the ball splitting algorithm to be used by the TopDown constructor.
      Parameters:
      splitter - The BallSplitter to use.
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options.
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class BallTreeConstructor
      Returns:
      an enumeration of all the available options.
    • setOptions

      public void setOptions(String[] options) throws Exception
      Parses a given list of options. Valid options are:

       -S <classname and options>
        Ball splitting algorithm to use.
       
      Specified by:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class BallTreeConstructor
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • getOptions

      public String[] getOptions()
      Gets the current settings of KDtree.
      Specified by:
      getOptions in interface OptionHandler
      Overrides:
      getOptions in class BallTreeConstructor
      Returns:
      an array of strings suitable for passing to setOptions
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class BallTreeConstructor
      Returns:
      the revision