java.io.Serializable
KMeansInpiredMethod
, MedianOfWidestDimension
, MidPointOfWidestDimension
, SlidingMidPointOfWidestSide
public abstract class KDTreeNodeSplitter
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Field | Description |
---|---|---|
protected EuclideanDistance |
m_EuclideanDistance |
The distance function used for building the tree.
|
protected Instances |
m_Instances |
The instances that'll be used for tree construction.
|
protected int[] |
m_InstList |
The master index array that'll be reshuffled as nodes
are split and the tree is constructed.
|
protected boolean |
m_NormalizeNodeWidth |
Stores whether if the width of a KDTree
node is normalized or not.
|
static int |
MAX |
Index of max value in an array of attributes' range.
|
static int |
MIN |
Index of min value in an array of attributes' range.
|
static int |
WIDTH |
Index of width value (max-min) in an array of attributes' range.
|
Constructor | Description |
---|---|
KDTreeNodeSplitter() |
default constructor.
|
KDTreeNodeSplitter(int[] instList,
Instances insts,
EuclideanDistance e) |
Creates a new instance of KDTreeNodeSplitter.
|
Modifier and Type | Method | Description |
---|---|---|
protected void |
correctlyInitialized() |
Checks whether an object of this class has been correctly
initialized.
|
java.lang.String[] |
getOptions() |
Gets the current settings of the object.
|
java.util.Enumeration |
listOptions() |
Returns an enumeration describing the available options.
|
void |
setEuclideanDistanceFunction(EuclideanDistance func) |
Sets the EuclideanDistance object to use for
splitting nodes.
|
void |
setInstanceList(int[] instList) |
Sets the master index array containing indices of the
training instances.
|
void |
setInstances(Instances inst) |
Sets the training instances on which the tree is (or is
to be) built.
|
void |
setNodeWidthNormalization(boolean normalize) |
Sets whether if a nodes region is normalized
or not.
|
void |
setOptions(java.lang.String[] options) |
Parses a given list of options.
|
abstract void |
splitNode(KDTreeNode node,
int numNodesCreated,
double[][] nodeRanges,
double[][] universe) |
Splits a node into two.
|
protected int |
widestDim(double[][] nodeRanges,
double[][] universe) |
Returns the widest dimension.
|
protected Instances m_Instances
protected EuclideanDistance m_EuclideanDistance
protected int[] m_InstList
protected boolean m_NormalizeNodeWidth
public static final int MIN
public static final int MAX
public static final int WIDTH
public KDTreeNodeSplitter()
public KDTreeNodeSplitter(int[] instList, Instances insts, EuclideanDistance e)
instList
- Reference of the master index array.insts
- The set of training instances on which
the tree is built.e
- The EuclideanDistance object that is used
in tree contruction.public java.util.Enumeration listOptions()
public void setOptions(java.lang.String[] options) throws java.lang.Exception
options
- the list of options as an array of stringsjava.lang.Exception
- if an option is not supportedpublic java.lang.String[] getOptions()
protected void correctlyInitialized() throws java.lang.Exception
java.lang.Exception
- If the object has not been correctly
initialized.public abstract void splitNode(KDTreeNode node, int numNodesCreated, double[][] nodeRanges, double[][] universe) throws java.lang.Exception
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.java.lang.Exception
- If there is some problem in splitting the
given node.public void setInstances(Instances inst)
inst
- The training instances.public void setInstanceList(int[] instList)
instList
- The master index array.public void setEuclideanDistanceFunction(EuclideanDistance func)
func
- The EuclideanDistance object.public void setNodeWidthNormalization(boolean normalize)
normalize
- Should be true if
normalization is required.protected int widestDim(double[][] nodeRanges, double[][] universe)
nodeRanges
- The attributes' range of the
points inside the node that is to be split.universe
- The attributes' range for the
whole point-space.Copyright © 2019 University of Waikato, Hamilton, NZ. All Rights Reserved.