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