UNPKG

@ai-on-browser/data-analysis-models

Version:

Data analysis model package without any dependencies

108 lines (107 loc) 2.93 kB
/** * 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 {};