UNPKG

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

Version:

Data analysis model package without any dependencies

91 lines (90 loc) 2.46 kB
/** * Principal component analysis */ export class PCA { /** * @param {number | null} [rd] Reduced dimension */ constructor(rd?: number | null); _rd: number; /** * Fit model. * @param {Array<Array<number>>} x Training data */ fit(x: Array<Array<number>>): void; _e: any; /** * Returns reduced datas. * @param {Array<Array<number>>} x Sample data * @returns {Array<Array<number>>} Predicted values */ predict(x: Array<Array<number>>): Array<Array<number>>; } /** * Dual Principal component analysis */ export class DualPCA { /** * @param {number | null} [rd] Reduced dimension */ constructor(rd?: number | null); _rd: number; /** * Fit model. * @param {Array<Array<number>>} x Training data */ fit(x: Array<Array<number>>): void; _x: Matrix<number[]>; _e: any; /** * Returns reduced datas. * @param {Array<Array<number>>} x Sample data * @returns {Array<Array<number>>} Predicted values */ predict(x: Array<Array<number>>): Array<Array<number>>; } /** * Kernel Principal component analysis */ export class KernelPCA { /** * @param {'gaussian' | 'polynomial' | { name: 'gaussian', sigma?: number } | { name: 'polynomial', n?: number } | function (number[], number[]): number} kernel Kernel name * @param {number | null} [rd] Reduced dimension */ constructor(kernel: "gaussian" | "polynomial" | { name: "gaussian"; sigma?: number; } | { name: "polynomial"; n?: number; } | ((arg0: number[], arg1: number[]) => number), rd?: number | null); _kernel: any; _rd: number; /** * Fit model. * @param {Array<Array<number>>} x Training data */ fit(x: Array<Array<number>>): void; _x: Matrix<number[]>; _e: any; _gram(x: any): Matrix<T>; /** * Returns reduced datas. * @param {Array<Array<number>>} x Sample data * @returns {Array<Array<number>>} Predicted values */ predict(x: Array<Array<number>>): Array<Array<number>>; } /** * Principal component analysis for anomaly detection */ export class AnomalyPCA extends PCA { _m: any; /** * Returns anomaly degrees. * @param {Array<Array<number>>} x Sample data * @returns {number[]} Predicted values */ predict(x: Array<Array<number>>): number[]; } import Matrix from '../util/matrix.js';