UNPKG

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

Version:

Data analysis model package without any dependencies

96 lines (95 loc) 2.57 kB
/** * Gaussian mixture model */ export class GMM { _k: number; _d: any; _p: any[]; _m: any[]; _s: any[]; _init(datas: any): void; /** * Add a new cluster. */ add(): void; /** * Clear all clusters. */ clear(): void; /** * Returns probabilities. * @param {Array<Array<number>>} data Sample data * @returns {Array<Array<number>>} Predicted values */ probability(data: Array<Array<number>>): Array<Array<number>>; /** * Returns predicted categories. * @param {Array<Array<number>>} data Sample data * @returns {number[]} Predicted values */ predict(data: Array<Array<number>>): number[]; _gaussian(x: any, m: any, s: any): number; /** * Fit model. * @param {Array<Array<number>>} datas Training data */ fit(datas: Array<Array<number>>): void; } /** * Semi-Supervised gaussian mixture model */ export class SemiSupervisedGMM extends GMM { /** * Categories * @type {*[]} */ get categories(): any[]; /** * 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[]; /** * Fit model. * @param {Array<Array<number>>} datas Training data * @param {(* | null)[]} y Target values */ fit(datas: Array<Array<number>>, y: (any | null)[]): void; /** * Returns predicted categories. * @param {Array<Array<number>>} data Sample data * @returns {*[]} Predicted values */ predict(data: Array<Array<number>>): any[]; } /** * Gaussian mixture regression */ export class GMR extends GMM { _input_d: number; _mx: any[]; _my: any[]; _sxx: any[]; _sxy: any[]; /** * Fit model. * @param {Array<Array<number>>} x Training data * @param {Array<Array<number>>} y Target values */ fit(x: Array<Array<number>>, y: Array<Array<number>>): void; /** * Returns probabilities. * @param {Array<Array<number>>} x Sample data * @param {Array<Array<number>>} y Target values * @returns {Array<Array<number>>} Predicted values */ probability(x: Array<Array<number>>, y: Array<Array<number>>): Array<Array<number>>; /** * Returns predicted values. * @param {Array<Array<number>>} x Sample data * @returns {Array<Array<number>>} Predicted values */ predict(x: Array<Array<number>>): Array<Array<number>>; }