@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
96 lines (95 loc) • 2.57 kB
TypeScript
/**
* 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>>;
}