@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
57 lines (56 loc) • 1.67 kB
TypeScript
/**
* Generative topographic mapping
*/
export default class GTM {
/**
* @param {number} input_size Input size
* @param {number} output_size Output size
* @param {number} [k] Grid size
* @param {number} [q] Grid size for basis function
*/
constructor(input_size: number, output_size: number, k?: number, q?: number);
in_size: number;
out_size: number;
_k: number;
_lambda: number;
_w: Matrix<number>;
_b: number;
_init_method: string;
_fit_method: string;
_epoch: number;
_z: number[][];
_t: number[][];
_make_grid(n: any): number[][];
_phi(z: any, i?: any, s?: number): any;
_prob(x: any, z: any): number[];
/**
* Returns probabilities.
* @param {Array<Array<number>>} x Sample data
* @returns {number[]} Predicted values
*/
probability(x: Array<Array<number>>): number[];
/**
* Returns responsibility.
* @param {Array<Array<number>>} x Sample data
* @returns {Matrix} Responsibility
*/
responsibility(x: Array<Array<number>>): Matrix;
/**
* Fit model.
* @param {Array<Array<number>>} data Training data
*/
fit(data: Array<Array<number>>): void;
/**
* Returns best indexes.
* @param {Array<Array<number>>} x Sample data
* @returns {number[]} Predicted values
*/
predictIndex(x: Array<Array<number>>): 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>>;
}
import Matrix from '../util/matrix.js';