@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
78 lines (77 loc) • 2.72 kB
TypeScript
/**
* Budgeted Stochastic Gradient Descent
*/
export default class BSGD {
/**
* @param {number} [b] Budget size
* @param {number} [eta] Learning rate
* @param {number} [lambda] Regularization parameter
* @param {'removal' | 'projection' | 'merging'} [maintenance] Maintenance type
* @param {'gaussian' | 'polynomial' | { name: 'gaussian', s?: number } | { name: 'polynomial', d?: number } | function (number[], number[]): number} [kernel] Kernel name
*/
constructor(b?: number, eta?: number, lambda?: number, maintenance?: "removal" | "projection" | "merging", kernel?: "gaussian" | "polynomial" | {
name: "gaussian";
s?: number;
} | {
name: "polynomial";
d?: number;
} | ((arg0: number[], arg1: number[]) => number));
_b: number;
_eta: number;
_lambda: number;
_maintenance: "removal" | "projection" | "merging";
_kernel: any;
_sv: any[];
_alpha: any[];
/**
* Fit model.
* @param {Array<Array<number>>} x Training data
* @param {Array<1 | -1>} y Target values
*/
fit(x: Array<Array<number>>, y: Array<1 | -1>): void;
/**
* Returns predicted values.
* @param {Array<Array<number>>} data Sample data
* @returns {(1 | -1)[]} Predicted values
*/
predict(data: Array<Array<number>>): (1 | -1)[];
}
/**
* Multiclass Budgeted Stochastic Gradient Descent
*/
export class MulticlassBSGD {
/**
* @param {number} [b] Budget size
* @param {number} [eta] Learning rate
* @param {number} [lambda] Regularization parameter
* @param {'removal' | 'projection' | 'merging'} [maintenance] Maintenance type
* @param {'gaussian' | 'polynomial' | { name: 'gaussian', s?: number } | { name: 'polynomial', d?: number } | function (number[], number[]): number} [kernel] Kernel name
*/
constructor(b?: number, eta?: number, lambda?: number, maintenance?: "removal" | "projection" | "merging", kernel?: "gaussian" | "polynomial" | {
name: "gaussian";
s?: number;
} | {
name: "polynomial";
d?: number;
} | ((arg0: number[], arg1: number[]) => number));
_b: number;
_eta: number;
_lambda: number;
_maintenance: "removal" | "projection" | "merging";
_kernel: any;
_classes: any[];
_sv: any[];
_alpha: any[];
/**
* Fit model.
* @param {Array<Array<number>>} x Training data
* @param {*[]} y Target values
*/
fit(x: Array<Array<number>>, y: any[]): void;
/**
* Returns predicted values.
* @param {Array<Array<number>>} data Sample data
* @returns {*[]} Predicted values
*/
predict(data: Array<Array<number>>): any[];
}