@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
136 lines (135 loc) • 3.84 kB
TypeScript
/**
* k-nearest neighbor
*/
export class KNN extends KNNBase {
/**
* Add a data.
* @param {number[]} point Training data
* @param {*} category Target value
*/
add(point: number[], category: any): void;
/**
* Add datas.
* @param {Array<Array<number>>} datas Training data
* @param {*[]} targets Target values
*/
fit(datas: Array<Array<number>>, targets: any[]): void;
/**
* Returns predicted categories.
* @param {Array<Array<number>>} datas Sample data
* @returns {*[]} Predicted values
*/
predict(datas: Array<Array<number>>): any[];
}
/**
* k-nearest neighbor regression
*/
export class KNNRegression extends KNNBase {
/**
* Add a data.
* @param {number[]} point Training data
* @param {number} category Target value
*/
add(point: number[], category: number): void;
/**
* Add datas.
* @param {Array<Array<number>>} datas Training data
* @param {number[]} targets Target values
*/
fit(datas: Array<Array<number>>, targets: number[]): void;
/**
* Returns predicted values.
* @param {Array<Array<number>>} datas Sample data
* @returns {number[]} Predicted values
*/
predict(datas: Array<Array<number>>): number[];
}
/**
* k-nearest neighbor anomaly detection
*/
export class KNNAnomaly extends KNNBase {
/**
* Add a data.
* @param {number[]} point Training data
*/
add(point: number[]): void;
/**
* Add datas.
* @param {Array<Array<number>>} datas Training data
*/
fit(datas: Array<Array<number>>): void;
/**
* Returns anomaly degrees.
* @param {Array<Array<number>>} datas Sample data
* @returns {number[]} Predicted values
*/
predict(datas: Array<Array<number>>): number[];
}
/**
* k-nearest neighbor density estimation
*/
export class KNNDensityEstimation extends KNNBase {
/**
* Add a data.
* @param {number[]} point Training data
*/
add(point: number[]): void;
/**
* Add datas.
* @param {Array<Array<number>>} datas Training data
*/
fit(datas: Array<Array<number>>): void;
_logGamma(z: any): number;
/**
* Returns predicted values.
* @param {Array<Array<number>>} datas Sample data
* @returns {number[]} Predicted values
*/
predict(datas: Array<Array<number>>): number[];
}
/**
* Semi-supervised k-nearest neighbor
*/
export class SemiSupervisedKNN extends KNNBase {
_orgk: number;
/**
* Add a data.
* @param {number[]} point Training data
* @param {* | null} category Target value
*/
add(point: number[], category: any | null): void;
/**
* Add datas.
* @param {Array<Array<number>>} datas Training data
* @param {(* | null)[]} targets Target values
*/
fit(datas: Array<Array<number>>, targets: (any | null)[]): void;
/**
* Returns predicted values.
* @returns {*[]} Predicted values
*/
predict(): any[];
}
/**
* Bsae class for k-nearest neighbor models
*/
declare class KNNBase {
/**
* @param {number} [k] Number of neighborhoods
* @param {'euclid' | 'manhattan' | 'chebyshev' | 'minkowski' | function (number[], number[]): number} [metric] Metric name
*/
constructor(k?: number, metric?: 'euclid' | 'manhattan' | 'chebyshev' | 'minkowski' | ((arg0: number[], arg1: number[]) => number));
_p: any[];
_c: any[];
_k: number;
_metric: "euclid" | "manhattan" | "chebyshev" | "minkowski" | ((arg0: number[], arg1: number[]) => number);
_d: (a: any, b: any) => any;
_near_points(data: any): any[];
/**
* Add a data.
* @param {number[]} point Training data
* @param {*} [category] Target value
*/
_add(point: number[], category?: any): void;
}
export {};