@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
37 lines (36 loc) • 1.23 kB
TypeScript
/**
* Extended Nearest Neighbor
*/
export default class ENN {
/**
* @param {0 | 1 | 2} [version] Version
* @param {number} [k] Number of neighborhoods
* @param {'euclid' | 'manhattan' | 'chebyshev' | 'minkowski' | function (number[], number[]): number} [metric] Metric name
*/
constructor(version?: 0 | 1 | 2, k?: number, metric?: 'euclid' | 'manhattan' | 'chebyshev' | 'minkowski' | ((arg0: number[], arg1: number[]) => number));
_k: number;
_v: 0 | 2 | 1;
_metric: "euclid" | "manhattan" | "chebyshev" | "minkowski" | ((arg0: number[], arg1: number[]) => number);
_d: (a: any, b: any) => any;
/**
* Add datas.
* @param {Array<Array<number>>} datas Training data
* @param {*[]} targets Target values
*/
fit(datas: Array<Array<number>>, targets: any[]): void;
_x: number[][];
_c: any[];
_classes: any[];
_nears: any[];
_n: any[];
_t: any[];
/**
* Returns predicted categories.
* @param {Array<Array<number>>} datas Sample data
* @returns {*[]} Predicted values
*/
predict(datas: Array<Array<number>>): any[];
_predict0(data: any): any;
_predict1(data: any): any;
_predict2(data: any): any;
}