@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
50 lines (49 loc) • 1.4 kB
TypeScript
/**
* PROjected CLUStering algorithm
*/
export default class PROCLUS {
/**
* @param {number} k Number of clusters
* @param {number} a Number to multiply the number of clusters for sample size
* @param {number} b Number to multiply the number of clusters for final set size
* @param {number} l Average dimensions
* @param {number} [minDeviation] Minimum deviation to check the medoid is bad
*/
constructor(k: number, a: number, b: number, l: number, minDeviation?: number);
_k: number;
_a: number;
_b: number;
_l: number;
_minDeviation: number;
_d: (a: any, b: any) => number;
_sample(n: any, k: any): number[];
/**
* Initialize model.
* @param {Array<Array<number>>} datas Training data
*/
init(datas: Array<Array<number>>): void;
_x: number[][];
_dists: any[];
_m: number[];
_bestObjective: number;
_mcurrent: any;
/**
* Fit model.
*/
fit(): void;
_mbest: any;
_clusters: any[][];
_findDimensions(m: any, L: any): any[][];
_assignPoints(m: any, D: any): any[][];
/**
* Returns predicted categories.
* @returns {number[]} Predicted values
*/
predict(): number[];
_D: any[][];
/**
* Returns a list of the data predicted as outliers or not.
* @returns {boolean[]} Predicted values
*/
outliers(): boolean[];
}