Learn R Programming

less (version 0.1.0)

CoverTree: CoverTree - Nearest Neighbor Search

Description

Wrapper R6 Class of FNN::get.knnx function that can be used for LESSRegressor and LESSClassifier

Arguments

Value

R6 Class of CoverTree

Methods


Method new()

Creates a new instance of R6 Class of CoverTree

Usage

CoverTree$new(X = NULL)

Arguments

X

An M x d data.frame or matrix, where each of the M rows is a point or a (column) vector (where d=1).

Examples

data(abalone)
ct <- CoverTree$new(abalone[1:100,])


Method query()

Finds the p number of near neighbours for each point in an input/output dataset.

Usage

CoverTree$query(query_X = private$X, k = 1)

Arguments

query_X

A set of N x d points that will be queried against X. d, the number of columns, must be the same as X. If missing, defaults to X.

k

The maximum number of nearest neighbours to compute (deafults to 1).

Returns

A list of length 2 with elements:

nn.idxA N x k integer matrix returning the near neighbour indices.
nn.distsA N x k matrix returning the near neighbour Euclidean distances

Examples

res <- ct$query(abalone[1:3,], k=2)
print(res)


Method clone()

The objects of this class are cloneable with this method.

Usage

CoverTree$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Details

The cover tree is O(n) space data structure which allows us to answer queries in the same O(log(n)) time as kd tree given a fixed intrinsic dimensionality. Templated code from https://hunch.net/~jl/projects/cover_tree/cover_tree.html is used.

See Also

FNN::get.knnx()

Examples

Run this code

## ------------------------------------------------
## Method `CoverTree$new`
## ------------------------------------------------

data(abalone)
ct <- CoverTree$new(abalone[1:100,])

## ------------------------------------------------
## Method `CoverTree$query`
## ------------------------------------------------

res <- ct$query(abalone[1:3,], k=2)
print(res)

Run the code above in your browser using DataLab