Class BallSplitter
- java.lang.Object
-
- weka.core.neighboursearch.balltrees.BallSplitter
-
- All Implemented Interfaces:
java.io.Serializable,OptionHandler,RevisionHandler
- Direct Known Subclasses:
MedianDistanceFromArbitraryPoint,MedianOfWidestDimension,PointsClosestToFurthestChildren
public abstract class BallSplitter extends java.lang.Object implements java.io.Serializable, OptionHandler, RevisionHandler
Abstract class for splitting a ball tree's BallNode.- Version:
- $Revision: 1.2 $
- Author:
- Ashraf M. Kibriya (amk14[at-the-rate]cs[dot]waikato[dot]ac[dot]nz)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description BallSplitter()default constructor.BallSplitter(int[] instList, Instances insts, EuclideanDistance e)Creates a new instance of BallSplitter.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.lang.String[]getOptions()Gets the current settings of the object.java.lang.StringgetRevision()Returns the revision string.java.util.EnumerationlistOptions()Returns an enumeration describing the available options.voidsetEuclideanDistanceFunction(EuclideanDistance func)Sets the distance function used to (or to be used to) build the tree.voidsetInstanceList(int[] instList)Sets the master index array containing indices of the training instances.voidsetInstances(Instances inst)Sets the training instances on which the tree is (or is to be) built.voidsetOptions(java.lang.String[] options)Parses a given list of options.abstract voidsplitNode(BallNode node, int numNodesCreated)Splits a node into two.
-
-
-
Constructor Detail
-
BallSplitter
public BallSplitter()
default constructor.
-
BallSplitter
public BallSplitter(int[] instList, Instances insts, EuclideanDistance e)Creates a new instance of BallSplitter.- 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
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceOptionHandler- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.ExceptionParses a given list of options.- Specified by:
setOptionsin interfaceOptionHandler- Parameters:
options- the list of options as an array of strings- Throws:
java.lang.Exception- if an option is not supported
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the object.- Specified by:
getOptionsin interfaceOptionHandler- Returns:
- an array of strings suitable for passing to setOptions
-
splitNode
public abstract void splitNode(BallNode node, int numNodesCreated) throws java.lang.Exception
Splits a node into two.- 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.
-
setInstances
public void setInstances(Instances inst)
Sets the training instances on which the tree is (or is to be) built.- Parameters:
inst- The training instances.
-
setInstanceList
public void setInstanceList(int[] instList)
Sets the master index array containing indices of the training instances. This array will be rearranged as the tree is built (or a node is split_), so that each node is assigned a portion in this array which contain the instances insides the node's region.- Parameters:
instList- The master index array.
-
setEuclideanDistanceFunction
public void setEuclideanDistanceFunction(EuclideanDistance func)
Sets the distance function used to (or to be used to) build the tree.- Parameters:
func- The distance function.
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Returns:
- the revision
-
-