KDTree
API reference for KDTree
Neighbors.KDTree
constructor(
X: number[][] = [],
leafSize: number = 40,
metric: Distance.IDistanceType = 'euclidiean',
p: number = 2
)
Parameters
X
(number[][]): data used to build the tree. You can also callfit
later.leafSize
(number): maximum samples per leaf. Default is40
.metric
(Distance.IDistanceType): distance metric used for queries. Default'euclidiean'
.p
(number): order of the norm when using Minkowski distance. Default2
.
Algorithm
KD-tree recursively splits points by dimension. Each internal node stores a split dimension and value and points to left and right subtrees. During search the tree is pruned using bounding boxes to efficiently locate nearest neighbors.
query(X: number[][], k: number = 1)
returns distances and indices of nearest neighbors.
queryRadius(X: number[][], r: number, returnDistance = false)
finds neighbors within given radius.
Example
const tree = new KDTree(X, 2);
const result = tree.query(X.slice(0, 1), 3);