@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
108 lines (107 loc) • 2.93 kB
TypeScript
/**
* k-means model
*/
export class KMeans extends KMeansBase {
/**
* Returns a new centroid.
* @param {Array<Array<number>>} centroids Centroids
* @param {Array<Array<number>>} datas Training data
* @returns {number[]} Added centroid
*/
_add(centroids: Array<Array<number>>, datas: Array<Array<number>>): number[];
_mean(d: any): number[];
/**
* Returns moved centroid positions.
* @param {Array<Array<number>>} centroids Centroids
* @param {Array<Array<number>>} datas Training data
* @returns {Array<Array<number>>} Moved centroids
*/
_move(centroids: Array<Array<number>>, datas: Array<Array<number>>): Array<Array<number>>;
}
/**
* k-means++ model
*/
export class KMeanspp extends KMeans {
}
/**
* k-medoids model
*/
export class KMedoids extends KMeans {
}
/**
* k-medians model
*/
export class KMedians extends KMeans {
}
/**
* semi-supervised k-means model
*/
export class SemiSupervisedKMeansModel extends KMeansBase {
/**
* Categories
* @type {*[]}
*/
get categories(): any[];
_mean(d: any): number[];
/**
* Initialize model.
* @param {Array<Array<number>>} datas Training data
* @param {(* | null)[]} labels Target values
*/
init(datas: Array<Array<number>>, labels: (any | null)[]): void;
_classes: any[];
add(): void;
/**
* Fit and returns total distance the centroid has moved.
* @param {Array<Array<number>>} datas Training data
* @param {(* | null)[]} labels Target values
* @returns {number} Total distance the centroid has moved
*/
fit(datas: Array<Array<number>>, labels: (any | null)[]): number;
/**
* Returns predicted categories.
* @param {Array<Array<number>>} datas Sample data
* @returns {*[]} Predicted values
*/
predict(datas: Array<Array<number>>): any[];
}
/**
* Bsae class for k-means like model
*/
declare class KMeansBase {
_centroids: any[];
/**
* Centroids
* @type {Array<Array<number>>}
*/
get centroids(): number[][];
/**
* Number of clusters.
* @type {number}
*/
get size(): number;
_distance(a: any, b: any): number;
/**
* Add a new cluster.
* @param {Array<Array<number>>} datas Training data
* @returns {number[]} Added centroid
*/
add(datas: Array<Array<number>>): number[];
/**
* Clear all clusters.
*/
clear(): void;
/**
* Returns predicted categories.
* @param {Array<Array<number>>} datas Sample data
* @returns {number[]} Predicted values
*/
predict(datas: Array<Array<number>>): number[];
/**
* Fit model and returns total distance the centroid has moved.
* @param {Array<Array<number>>} datas Training data
* @returns {number} Total distance the centroid has moved
*/
fit(datas: Array<Array<number>>): number;
}
export {};