Class BottomUpConstructor
java.lang.Object
weka.core.neighboursearch.balltrees.BallTreeConstructor
weka.core.neighboursearch.balltrees.BottomUpConstructor
- All Implemented Interfaces:
Serializable,OptionHandler,RevisionHandler,TechnicalInformationHandler
The class that constructs a ball tree bottom up.
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:
-N <value> Set maximum number of instances in a leaf node (default: 40)
-R Set internal nodes' radius to the sum of the child balls radii. So that it contains the child balls.
- Version:
- $Revision: 8034 $
- Author:
- Ashraf M. Kibriya (amk14[at-the-rate]cs[dot]waikato[dot]ac[dot]nz)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint[]addInstance(BallNode node, Instance inst) Adds an instance to the ball tree.Builds the ball tree bottom up.calcPivot(weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode node1, weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode node2, Instances insts) Calculates the centroid pivot of a node based on its two child nodes.doublecalcRadius(weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode n1, weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode n2) Calculates the radius of a node based on its two child nodes.Returns the revision string.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.Returns a string describing this nearest neighbour search algorithm.Methods inherited from class weka.core.neighboursearch.balltrees.BallTreeConstructor
containChildBallsTipText, getContainChildBalls, getMaxDepth, getMaxInstancesInLeaf, getMaxRelativeLeafRadius, getNumLeaves, getNumNodes, getOptions, listOptions, maxInstancesInLeafTipText, maxRelativeLeafRadiusTipText, setContainChildBalls, setEuclideanDistanceFunction, setInstanceList, setInstances, setMaxInstancesInLeaf, setMaxRelativeLeafRadius, setOptions
-
Constructor Details
-
BottomUpConstructor
public BottomUpConstructor()Creates a new instance of BottomUpConstructor.
-
-
Method Details
-
globalInfo
Returns a string describing this nearest neighbour search algorithm.- Returns:
- a description of the algorithm for displaying in the explorer/experimenter gui
-
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:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
buildTree
Builds the ball tree bottom up.- Specified by:
buildTreein classBallTreeConstructor- Returns:
- The root node of the tree.
- Throws:
Exception- If there is problem building the tree.
-
addInstance
Adds an instance to the ball tree.- Specified by:
addInstancein classBallTreeConstructor- 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- Always as BottomUpConstructor does not allow addition of instances after batch construction.
-
calcPivot
public Instance calcPivot(weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode node1, weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode node2, Instances insts) throws Exception Calculates the centroid pivot of a node based on its two child nodes.- Parameters:
node1- The first child node.node2- The second child node.insts- The instance on which the tree is to be built.- Returns:
- The centre/pivot of the node.
- Throws:
Exception- If there is some problem calculating the centre/pivot of the node.
-
calcRadius
public double calcRadius(weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode n1, weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode n2) throws Exception Calculates the radius of a node based on its two child nodes.- Parameters:
n1- The first child node.n2- The second child node.- Returns:
- The calculated radius of the the node.
- Throws:
Exception- If there is some problem in calculating the radius.
-
getRevision
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classBallTreeConstructor- Returns:
- the revision
-