Class KMeansInpiredMethod

java.lang.Object
weka.core.neighboursearch.kdtrees.KDTreeNodeSplitter
weka.core.neighboursearch.kdtrees.KMeansInpiredMethod
All Implemented Interfaces:
Serializable, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class KMeansInpiredMethod extends KDTreeNodeSplitter implements TechnicalInformationHandler
The class that splits a node into two such that the overall sum of squared distances of points to their centres on both sides of the (axis-parallel) splitting plane is minimum.

For more information see also:

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

BibTeX:

 @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: 10203 $
Author:
Ashraf M. Kibriya (amk14[at-the-rate]cs[dot]waikato[dot]ac[dot]nz)
See Also:
  • Constructor Details

    • KMeansInpiredMethod

      public KMeansInpiredMethod()
  • 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
    • splitNode

      public void splitNode(KDTreeNode node, int numNodesCreated, double[][] nodeRanges, double[][] universe) throws Exception
      Splits a node into two such that the overall sum of squared distances of points to their centres on both sides of the (axis-parallel) splitting plane is minimum. The two nodes created after the whole splitting are correctly initialised. And, node.left and node.right are set appropriately.
      Specified by:
      splitNode in class KDTreeNodeSplitter
      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.
      nodeRanges - The attributes' range for the points inside the node that is to be split.
      universe - The attributes' range for the whole point-space.
      Throws:
      Exception - If there is some problem in splitting the given node.
    • getRevision

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