public class BottomUpConstructor extends BallTreeConstructor implements TechnicalInformationHandler
@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.
| Constructor and Description |
|---|
BottomUpConstructor()
Creates a new instance of BottomUpConstructor.
|
| Modifier and Type | Method and Description |
|---|---|
int[] |
addInstance(BallNode node,
Instance inst)
Adds an instance to the ball tree.
|
BallNode |
buildTree()
Builds the ball tree bottom up.
|
Instance |
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.
|
double |
calcRadius(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.
|
java.lang.String |
getRevision()
Returns the revision string.
|
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.
|
java.lang.String |
globalInfo()
Returns a string describing this nearest neighbour search algorithm.
|
containChildBallsTipText, getContainChildBalls, getMaxDepth, getMaxInstancesInLeaf, getMaxRelativeLeafRadius, getNumLeaves, getNumNodes, getOptions, listOptions, maxInstancesInLeafTipText, maxRelativeLeafRadiusTipText, setContainChildBalls, setEuclideanDistanceFunction, setInstanceList, setInstances, setMaxInstancesInLeaf, setMaxRelativeLeafRadius, setOptionspublic BottomUpConstructor()
public java.lang.String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation in interface TechnicalInformationHandlerpublic BallNode buildTree() throws java.lang.Exception
buildTree in class BallTreeConstructorjava.lang.Exception - If there is problem building
the tree.public int[] addInstance(BallNode node, Instance inst) throws java.lang.Exception
addInstance in class BallTreeConstructornode - The root node of the tree.inst - The instance to add to the tree.java.lang.Exception - Always as BottomUpConstructor
does not allow addition of instances after batch
construction.public Instance calcPivot(weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode node1, weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode node2, Instances insts) throws java.lang.Exception
node1 - The first child node.node2 - The second child node.insts - The instance on which the tree is to be
built.java.lang.Exception - If there is some problem calculating
the centre/pivot of the node.public double calcRadius(weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode n1,
weka.core.neighboursearch.balltrees.BottomUpConstructor.TempNode n2)
throws java.lang.Exception
n1 - The first child node.n2 - The second child node.java.lang.Exception - If there is some problem
in calculating the radius.public java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class BallTreeConstructor