public class KMeansInpiredMethod extends KDTreeNodeSplitter implements TechnicalInformationHandler
@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}
}
m_EuclideanDistance, m_Instances, m_InstList, m_NormalizeNodeWidth, MAX, MIN, WIDTH| Constructor and Description |
|---|
KMeansInpiredMethod() |
| Modifier and Type | Method and Description |
|---|---|
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.
|
protected static int |
partition(Instances insts,
int[] index,
int attidx,
int l,
int r)
Partitions the instances around a pivot.
|
protected static void |
quickSort(Instances insts,
int[] indices,
int attidx,
int left,
int right)
Sorts the instances according to the given attribute/dimension.
|
protected int |
rearrangePoints(int[] indices,
int startidx,
int endidx,
int splitDim,
double splitVal)
Re-arranges the indices array so that in the portion of the array belonging
to the node to be split, the points <= to the splitVal are on the left of
the portion and those > the splitVal are on the right.
|
void |
splitNode(KDTreeNode node,
int numNodesCreated,
double[][] nodeRanges,
double[][] universe)
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.
|
correctlyInitialized, getOptions, listOptions, setEuclideanDistanceFunction, setInstanceList, setInstances, setNodeWidthNormalization, setOptions, widestDimpublic java.lang.String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation in interface TechnicalInformationHandlerpublic void splitNode(KDTreeNode node, int numNodesCreated, double[][] nodeRanges, double[][] universe) throws java.lang.Exception
splitNode in class KDTreeNodeSplitternode - 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.protected static int partition(Instances insts, int[] index, int attidx, int l, int r)
insts - The instances on which the tree is (or is to be) built.index - The master index array containing indices of the instances.attidx - The attribution/dimension based on which the instances should
be partitioned.l - The begining index of the portion of master index array that
should be partitioned.r - The end index of the portion of master index array that should be
partitioned.protected static void quickSort(Instances insts, int[] indices, int attidx, int left, int right)
insts - The instances on which the tree is (or is to be) built.indices - The master index array containing indices of the instances.attidx - The dimension/attribute based on which the instances should
be sorted.left - The begining index of the portion of the master index array
that needs to be sorted.right - The end index of the portion of the master index array that
needs to be sorted.protected int rearrangePoints(int[] indices,
int startidx,
int endidx,
int splitDim,
double splitVal)
indices - The master index array.startidx - The begining index of portion of indices that needs
re-arranging.endidx - The end index of portion of indices that needs re-arranging.splitDim - The split dimension/attribute.splitVal - The split value.public java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class KDTreeNodeSplitter