@saehrimnir/druidjs / BallTree
Class: BallTree<T>
Defined in: knn/BallTree.js:27
Ball Tree for efficient nearest neighbor search.
A Ball Tree is a metric tree that partitions points into a nested set of hyperspheres (balls). It is particularly effective for high-dimensional data and supports any valid metric.
Template
Extends
KNN
Type Parameters
| Type Parameter | Description |
|---|---|
T extends number[] | Float64Array |
Constructors
Constructor
ts
new BallTree<T>(elements: T[], parameters?: ParametersBallTree): BallTree<T>;Defined in: knn/BallTree.js:36
Generates a BallTree with given elements.
Parameters
| Parameter | Type | Description |
|---|---|---|
elements | T[] | Elements which should be added to the BallTree |
parameters? | ParametersBallTree | Default is {metric: euclidean} |
Returns
BallTree<T>
See
- https://en.wikipedia.org/wiki/Ball_tree
- https://github.com/invisal/noobjs/blob/master/src/tree/BallTree.js
Overrides
ts
KNN.constructorProperties
| Property | Type | Inherited from | Defined in |
|---|---|---|---|
_elements | T[] | KNN._elements | knn/KNN.js:14 |
_parameters | ParametersBallTree | KNN._parameters | knn/KNN.js:16 |
_type | "array" | "typed" | KNN._type | knn/KNN.js:18 |
Accessors
_metric
Get Signature
ts
get _metric(): Metric;Defined in: knn/BallTree.js:46
Returns
Methods
search()
ts
search(t: T, k?: number): {
distance: number;
element: T;
index: number;
}[];Defined in: knn/BallTree.js:119
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
t | T | undefined | Query element. |
k? | number | 5 | Number of nearest neighbors to return. Default is 5 |
Returns
{ distance: number; element: T; index: number; }[]
- List consists of the
knearest neighbors.
Overrides
ts
KNN.searchsearch_by_index()
ts
search_by_index(i: number, k?: number): {
distance: number;
element: T;
index: number;
}[];Defined in: knn/BallTree.js:110
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
i | number | undefined | - |
k | number | 5 | - |
Returns
{ distance: number; element: T; index: number; }[]
Overrides
ts
KNN.search_by_index