public class ByteNearestNeighboursExact extends ByteNearestNeighbours
Modifier and Type  Class and Description 

static class 
ByteNearestNeighboursExact.Factory
NearestNeighboursFactory for producing
ByteNearestNeighboursExact s. 
Modifier and Type  Field and Description 

protected ByteFVComparator 
distance 
protected byte[][] 
pnts 
Constructor and Description 

ByteNearestNeighboursExact(byte[][] pnts)
Construct the ByteNearestNeighboursExact over the provided
dataset and using Euclidean distance.

ByteNearestNeighboursExact(byte[][] pnts,
ByteFVComparator distance)
Construct the ByteNearestNeighboursExact over the provided
dataset with the given distance function.

Modifier and Type  Method and Description 

float 
computeDistance(byte[] a,
byte[] b)
Compute the distance between two vectors using the underlying distance
comparison used by this class.

ByteFVComparator 
distanceComparator()
Get the distance comparator

byte[][] 
getPoints()
Get the underlying data points.

int 
numDimensions()
Get the number of dimensions of each vector in the dataset

void 
searchKNN(byte[][] qus,
int K,
int[][] indices,
float[][] distances)
Search for the K nearest neighbours to each of the N queries, and return
the indices of each nearest neighbour and their respective distances.

List<IntFloatPair> 
searchKNN(byte[] query,
int K)
Search for the K nearest neighbours to the given query and return an
ordered list of pairs containing the distance and index of each
neighbour.

void 
searchKNN(List<byte[]> qus,
int K,
int[][] indices,
float[][] distances)
Search for the K nearest neighbours to each of the N queries, and return
the indices of each nearest neighbour and their respective distances.

IntFloatPair 
searchNN(byte[] query)
Search for the nearest neighbour to the given query and return a pair
containing the distance and index of that neighbour.

void 
searchNN(byte[][] qus,
int[] indices,
float[] distances)
Search for the nearest neighbour to each of the N queries, and return the
index of each nearest neighbour and the respective distance.

void 
searchNN(List<byte[]> qus,
int[] indices,
float[] distances)
Search for the nearest neighbour to each of the N queries, and return the
index of each nearest neighbour and the respective distance.

int 
size()
Get the size of the dataset

distanceFunc, distanceFunc, distanceFunc, distanceFunc
protected final byte[][] pnts
protected final ByteFVComparator distance
public ByteNearestNeighboursExact(byte[][] pnts)
pnts
 the datasetpublic ByteNearestNeighboursExact(byte[][] pnts, ByteFVComparator distance)
Note: If the distance function provides similarities rather than distances they are automatically inverted.
pnts
 the datasetdistance
 the distance functionpublic void searchNN(byte[][] qus, int[] indices, float[] distances)
NearestNeighbours
For efficiency, to use this method, you need to preconstruct the arrays for storing the results outside of the method and pass them in as arguments.
If a nearestneighbour cannot be determined, it will have an index value of 1
qus
 An array of N query vectorsindices
 The return Ndimensional array for holding the indices of the
nearest neighbour of each respective query.distances
 The return Ndimensional array for holding the distances of
the nearest neighbour to each respective query.public void searchKNN(byte[][] qus, int K, int[][] indices, float[][] distances)
NearestNeighbours
For efficiency, to use this method, you need to preconstruct the arrays for storing the results outside of the method and pass them in as arguments.
If a kth nearestneighbour cannot be determined, it will have an index value of 1
qus
 An array of N query vectorsK
 the number of neighbours to findindices
 The return N*Kdimensional array for holding the indices of
the K nearest neighbours of each respective query.distances
 The return N*Kdimensional array for holding the distances of
the nearest neighbours of each respective query.public void searchNN(List<byte[]> qus, int[] indices, float[] distances)
NearestNeighbours
For efficiency, to use this method, you need to preconstruct the arrays for storing the results outside of the method and pass them in as arguments.
If a nearestneighbour cannot be determined, it will have an index value of 1
qus
 An array of N query vectorsindices
 The return Ndimensional array for holding the indices of the
nearest neighbour of each respective query.distances
 The return Ndimensional array for holding the distances of
the nearest neighbour to each respective query.public void searchKNN(List<byte[]> qus, int K, int[][] indices, float[][] distances)
NearestNeighbours
For efficiency, to use this method, you need to preconstruct the arrays for storing the results outside of the method and pass them in as arguments.
If a kth nearestneighbour cannot be determined, it will have an index value of 1
qus
 An array of N query vectorsK
 the number of neighbours to findindices
 The return N*Kdimensional array for holding the indices of
the K nearest neighbours of each respective query.distances
 The return N*Kdimensional array for holding the distances of
the nearest neighbours of each respective query.public List<IntFloatPair> searchKNN(byte[] query, int K)
NearestNeighbours
If k neighbours cannot be determined, then the resultant list might have fewer than k elements.
query
 the query vectorK
 the number of neighbours to search forpublic IntFloatPair searchNN(byte[] query)
NearestNeighbours
If the nearestneighbour cannot be determined null
will be
returned.
query
 the query vectorpublic int numDimensions()
ByteNearestNeighbours
numDimensions
in class ByteNearestNeighbours
public int size()
NearestNeighbours
public byte[][] getPoints()
public float computeDistance(byte[] a, byte[] b)
a
 the first vectorb
 the second vectorpublic ByteFVComparator distanceComparator()