@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
53 lines (52 loc) • 1.57 kB
TypeScript
/**
* Iterative Self-Organizing Data Analysis Technique
*/
export default class ISODATA {
/**
* @param {number} init_k Initial cluster count
* @param {number} min_k Minimum cluster count
* @param {number} max_k Maximum cluster count
* @param {number} min_n Minimum cluster size
* @param {number} split_std Standard deviation as splid threshold
* @param {number} merge_dist Merge distance
*/
constructor(init_k: number, min_k: number, max_k: number, min_n: number, split_std: number, merge_dist: number);
_init_k: number;
_min_k: number;
_max_k: number;
_min_n: number;
_split_sd: number;
_merge_distance: number;
_centroids: any[];
/**
* Centroids
* @type {Array<Array<number>>}
*/
get centroids(): number[][];
/**
* Number of clusters
* @type {number}
*/
get size(): number;
_distance(a: any, b: any): number;
/**
* Initialize model.
* @param {Array<Array<number>>} data Training data
*/
init(data: Array<Array<number>>): void;
_fit_centers(data: any): void;
/**
* Fit model.
* @param {Array<Array<number>>} data Training data
*/
fit(data: Array<Array<number>>): void;
_merge_centroids(datas: any): void;
_split_centroids(datas: any): void;
_delete_centroids(datas: any): void;
/**
* Returns predicted categories.
* @param {Array<Array<number>>} datas Sample data
* @returns {number[]} Predicted values
*/
predict(datas: Array<Array<number>>): number[];
}