UNPKG

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

Version:

Data analysis model package without any dependencies

92 lines (91 loc) 2.42 kB
/** * Linear discriminant analysis */ export class LinearDiscriminant { _x: number[][]; _y: (1 | -1)[]; _w: Matrix<number>; _w0: number; _s(x: any): void; /** * Initialize this model. * @param {Array<Array<number>>} train_x Training data * @param {Array<1 | -1>} train_y Target values */ init(train_x: Array<Array<number>>, train_y: Array<1 | -1>): void; /** * Fit model parameters. */ fit(): void; /** * Returns predicted datas. * @param {Array<Array<number>>} data Sample data * @returns {(1 | -1)[]} Predicted values */ predict(data: Array<Array<number>>): (1 | -1)[]; } /** * Fishers linear discriminant analysis */ export class FishersLinearDiscriminant { _x: number[][]; _y: (1 | -1)[]; _w: Matrix<number>; _m: Matrix<number>; /** * Initialize this model. * @param {Array<Array<number>>} train_x Training data * @param {Array<1 | -1>} train_y Target values */ init(train_x: Array<Array<number>>, train_y: Array<1 | -1>): void; /** * Fit model parameters. */ fit(): void; /** * Returns predicted datas. * @param {Array<Array<number>>} data Sample data * @returns {(1 | -1)[]} Predicted values */ predict(data: Array<Array<number>>): (1 | -1)[]; } /** * Multiclass linear discriminant analysis */ export class MulticlassLinearDiscriminant { /** * Fit model. * @param {Array<Array<number>>} x Training data * @param {*[]} y Target values */ fit(x: Array<Array<number>>, y: any[]): void; _c: any[]; _a: any[]; _m: any[]; _s: Matrix<number>; _sinv: Matrix<number>; /** * Returns predicted categories. * @param {Array<Array<number>>} data Sample data * @returns {*[]} Predicted values */ predict(data: Array<Array<number>>): any[]; } /** * Linear discriminant analysis */ export class LinearDiscriminantAnalysis { /** * @param {number | null} [rd] Reduced dimension */ constructor(rd?: number | null); _rd: number; /** * Returns reduced values. * @param {Array<Array<number>>} x Training data * @param {number[]} t Target values * @returns {Array<Array<number>>} Predicted values */ predict(x: Array<Array<number>>, t: number[]): Array<Array<number>>; } import Matrix from '../util/matrix.js';