@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
55 lines (54 loc) • 1.8 kB
TypeScript
/**
* Logistic regression
*/
export class LogisticRegression {
_W: Matrix<number>;
_b: number;
_output(x: any): any;
/**
* Fit model.
* @param {Array<Array<number>>} x Training data
* @param {Array<1 | -1>} y Target values
* @param {number} [iteration] Iteration count
* @param {number} [rate] Learning rate
* @param {number} [l1] L1 regularization strength
* @param {number} [l2] L2 regularization strength
*/
fit(x: Array<Array<number>>, y: Array<1 | -1>, iteration?: number, rate?: number, l1?: number, l2?: number): void;
/**
* Returns predicted values.
* @param {Array<Array<number>>} points Sample data
* @returns {Array<1 | -1>} Predicted values
*/
predict(points: Array<Array<number>>): Array<1 | -1>;
}
/**
* Multinomial logistic regression
*/
export class MultinomialLogisticRegression {
/**
* @param {number[]} [classes] Initial class labels
*/
constructor(classes?: number[]);
_classes: number[];
_W: Matrix<number>;
_b: Matrix<number>;
_output(x: any): any;
/**
* Fit model.
* @param {Array<Array<number>>} train_x Training data
* @param {*[]} train_y Target values
* @param {number} [iteration] Iteration count
* @param {number} [rate] Learning rate
* @param {number} [l1] L1 regularization strength
* @param {number} [l2] L2 regularization strength
*/
fit(train_x: Array<Array<number>>, train_y: any[], iteration?: number, rate?: number, l1?: number, l2?: number): void;
/**
* Returns predicted categories.
* @param {Array<Array<number>>} points Sample data
* @returns {*[]} Predicted values
*/
predict(points: Array<Array<number>>): any[];
}
import Matrix from '../util/matrix.js';