UNPKG

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

Version:

Data analysis model package without any dependencies

83 lines (82 loc) 2.22 kB
/** * Classical ellipsoid method */ export class CELLIP { /** * @param {number} [gamma] Desired classification margin * @param {number} [a] Tradeoff parameter */ constructor(gamma?: number, a?: number); _m: Matrix<number>; _p: any; _gamma: number; _a: 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; _x: Matrix<number[]>; _shift: Matrix<number>; _y: (1 | -1)[]; _d: number; /** * Update model parameters with one data. * @param {Matrix} x Training data * @param {1 | -1} y Target value */ update(x: Matrix, y: 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)[]; } /** * Improved ellipsoid method */ export class IELLIP { /** * @param {number} [b] Parameter controlling the memory of online learning * @param {number} [c] Parameter controlling the memory of online learning */ constructor(b?: number, c?: number); _m: Matrix<number>; _p: any; _b: number; _c: 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; _x: Matrix<number[]>; _shift: Matrix<number>; _y: (1 | -1)[]; _d: number; _t: number; /** * Update model parameters with one data. * @param {Matrix} x Training data * @param {1 | -1} y Target value */ update(x: Matrix, y: 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)[]; } import Matrix from '../util/matrix.js';