@saehrimnir/druidjs / NNDescent
Class: NNDescent<T>
Defined in: knn/NNDescent.js:38
NN-Descent
An efficient graph-based approximate nearest neighbor search algorithm. It works by iteratively improving a neighbor graph using the fact that "neighbors of neighbors are likely to be neighbors".
Template
See
Extends
KNN
Type Parameters
| Type Parameter | Description |
|---|---|
T extends number[] | Float64Array |
Constructors
Constructor
ts
new NNDescent<T>(elements: T[], parameters?: Partial<ParametersNNDescent>): NNDescent<T>;Defined in: knn/NNDescent.js:55
Parameters
| Parameter | Type | Description |
|---|---|---|
elements | T[] | Called V in paper. |
parameters | Partial<ParametersNNDescent> | - |
Returns
NNDescent<T>
See
http://www.cs.princeton.edu/cass/papers/www11.pdf
Overrides
ts
KNN.constructorProperties
| Property | Type | Inherited from | Defined in |
|---|---|---|---|
_elements | T[] | KNN._elements | knn/KNN.js:14 |
_N | number | - | knn/NNDescent.js:62 |
_nndescent_elements | { flag: boolean; index: number; value: T; }[] | - | knn/NNDescent.js:66 |
_parameters | ParametersNNDescent | KNN._parameters | knn/KNN.js:16 |
_randomizer | Randomizer | - | knn/NNDescent.js:63 |
_sample_size | number | - | knn/NNDescent.js:64 |
_type | "array" | "typed" | KNN._type | knn/KNN.js:18 |
Methods
add()
ts
add(elements: T[]): NNDescent<T>;Defined in: knn/NNDescent.js:152
Parameters
| Parameter | Type | Description |
|---|---|---|
elements | T[] | - |
Returns
NNDescent<T>
search()
ts
search(x: T, k?: number): {
distance: number;
element: T;
index: number;
}[];Defined in: knn/NNDescent.js:236
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
x | T | undefined | - |
k? | number | 5 | Default is 5 |
Returns
{ distance: number; element: T; index: number; }[]
Overrides
ts
KNN.searchsearch_by_index()
ts
search_by_index(i: number, k?: number): {
distance: number;
element: T;
index: number;
}[];Defined in: knn/NNDescent.js:325
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
i | number | undefined | - |
k? | number | 5 | Default is 5 |
Returns
{ distance: number; element: T; index: number; }[]
Overrides
ts
KNN.search_by_index