@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
63 lines (62 loc) • 1.69 kB
TypeScript
/**
* eXtreme Gradient Boosting regression
*/
export class XGBoost {
/**
* @param {number} [maxdepth] Maximum depth of tree
* @param {number} [srate] Sampling rate
* @param {number} [lambda] Regularization parameter
* @param {number} [lr] Learning rate
*/
constructor(maxdepth?: number, srate?: number, lambda?: number, lr?: number);
_trees: any[];
_r: any[];
_maxd: number;
_srate: number;
_lambda: number;
_learning_rate: number;
/**
* Number of trees
* @type {number}
*/
get size(): number;
_sample(n: any): number[];
/**
* Initialize model.
* @param {Array<Array<number>>} x Training data
* @param {Array<Array<number>>} y Target values
*/
init(x: Array<Array<number>>, y: Array<Array<number>>): void;
_x: number[][];
_y: Matrix<number[]>;
_loss: Matrix<number[]>;
/**
* Fit model.
*/
fit(): void;
/**
* Returns predicted values.
* @param {Array<Array<number>>} x Sample data
* @returns {Array<Array<number>>} Predicted values
*/
predict(x: Array<Array<number>>): Array<Array<number>>;
}
/**
* eXtreme Gradient Boosting classifier
*/
export class XGBoostClassifier extends XGBoost {
/**
* Initialize model.
* @param {Array<Array<number>>} x Training data
* @param {*[]} y Target values
*/
init(x: Array<Array<number>>, y: any[]): void;
_cls: any[];
/**
* Returns predicted categories.
* @param {Array<Array<number>>} x Sample data
* @returns {*[]} Predicted values
*/
predict(x: Array<Array<number>>): any[];
}
import Matrix from '../util/matrix.js';