UNPKG

@ai-on-browser/data-analysis-models

Version:

Data analysis model package without any dependencies

32 lines (31 loc) 1.57 kB
/** * Weighted K-Nearest Neighbor */ export default class WeightedKNN { /** * @param {number} k Number of neighbors * @param {'euclid' | 'manhattan' | 'chebyshev' | 'minkowski' | function (number[], number[]): number} [metric] Metric name * @param {'gaussian' | 'rectangular' | 'triangular' | 'epanechnikov' | 'quartic' | 'triweight' | 'cosine' | 'inversion'} [weight] Weighting scheme name */ constructor(k: number, metric?: "euclid" | "manhattan" | "chebyshev" | "minkowski" | ((arg0: number[], arg1: number[]) => number), weight?: "gaussian" | "rectangular" | "triangular" | "epanechnikov" | "quartic" | "triweight" | "cosine" | "inversion"); _k: number; _metric: "euclid" | "manhattan" | "chebyshev" | "minkowski" | ((arg0: number[], arg1: number[]) => number); _d: (a: any, b: any) => any; _weight: "gaussian" | "rectangular" | "triangular" | "epanechnikov" | "triweight" | "quartic" | "cosine" | "inversion"; _w: ((d: any) => number) | ((d: any) => 0 | 0.5) | ((d: any) => number) | ((d: any) => number) | ((d: any) => number) | ((d: any) => number) | ((d: any) => number) | ((d: any) => number); /** * Fit model. * @param {Array<Array<number>>} x Training data * @param {*[]} y Target values */ fit(x: Array<Array<number>>, y: any[]): void; _x: number[][]; _y: any[]; _c: any[]; /** * Returns predicted categories. * @param {Array<Array<number>>} data Sample data * @returns {*[]} Predicted values */ predict(data: Array<Array<number>>): any[]; }