Skip to content

@saehrimnir/druidjs / NaiveKNN

Class: NaiveKNN<T>

Defined in: knn/NaiveKNN.js:20

Naive KNN implementation using a distance matrix.

This implementation pre-computes the entire distance matrix and performs an exhaustive search. Best suited for small datasets or when a distance matrix is already available.

Template

Extends

  • KNN

Type Parameters

Type ParameterDescription
T extends number[] | Float64Array

Constructors

Constructor

ts
new NaiveKNN<T>(elements: T[], parameters?: ParametersNaiveKNN): NaiveKNN<T>;

Defined in: knn/NaiveKNN.js:27

Generates a KNN list with given elements.

Parameters

ParameterTypeDescription
elementsT[]Elements which should be added to the KNN list
parametersParametersNaiveKNN-

Returns

NaiveKNN<T>

Overrides

ts
KNN.constructor

Properties

PropertyTypeInherited fromDefined in
_DMatrix-knn/NaiveKNN.js:33
_elementsT[]KNN._elementsknn/KNN.js:14
_parametersParametersNaiveKNNKNN._parametersknn/KNN.js:16
_type"array" | "typed"KNN._typeknn/KNN.js:18
KNNHeap<{ index: number; value: number; }>[]-knn/NaiveKNN.js:42

Methods

ts
search(t: T, k?: number): {
  distance: number;
  element: T;
  index: number;
}[];

Defined in: knn/NaiveKNN.js:98

Parameters

ParameterTypeDefault valueDescription
tTundefinedQuery element.
k?number5Number of nearest neighbors to return. Default is 5

Returns

{ distance: number; element: T; index: number; }[]

  • List consists of the k nearest neighbors.

Overrides

ts
KNN.search

search_by_index()

ts
search_by_index(i: number, k?: number): {
  distance: number;
  element: T;
  index: number;
}[];

Defined in: knn/NaiveKNN.js:61

Parameters

ParameterTypeDefault valueDescription
inumberundefined-
knumber5-

Returns

{ distance: number; element: T; index: number; }[]

Overrides

ts
KNN.search_by_index