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