@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
89 lines (88 loc) • 2.23 kB
TypeScript
/**
* Decision tree classifier
*/
export class DecisionTreeClassifier extends DecisionTree {
/**
* @param {'ID3' | 'CART'} method Method name
*/
constructor(method: "ID3" | "CART");
_method: "ID3" | "CART";
_calcValue(datas: any): Map<any, any>;
_calcScore(datas: any): number;
_classesRate(datas: any): Map<any, any>;
_id3(datas: any): number;
_gini(datas: any): number;
/**
* Returns probability of the datas.
* @param {Array<Array<number>>} data Sample data
* @returns {number[]} Predicted values
*/
predict_prob(data: Array<Array<number>>): number[];
/**
* Returns predicted values.
* @param {Array<Array<number>>} data Sample data
* @returns {*[]} Predicted values
*/
predict(data: Array<Array<number>>): any[];
}
/**
* Decision tree regression
*/
export class DecisionTreeRegression extends DecisionTree {
_calcValue(datas: any): any;
_calcScore(datas: any): number;
/**
* Returns predicted values.
* @param {Array<Array<number>>} data Sample data
* @returns {number[]} Predicted values
*/
predict(data: Array<Array<number>>): number[];
}
/**
* Decision tree
*/
declare class DecisionTree {
_depth: number;
/**
* Depth of the tree
* @type {number}
*/
get depth(): number;
/**
* Initialize model.
* @param {Array<Array<number>>} datas Training data
* @param {*[]} targets Target values
*/
init(datas: Array<Array<number>>, targets: any[]): void;
_datas: {
value: number[];
target: any;
}[];
_tree: {
datas: {
value: number[];
target: any;
}[];
value: any;
score: any;
children: any[];
readonly leafs: any;
};
_features: number;
/**
* Fit model.
*/
fit(): void;
/**
* Returns importances of the features.
* @returns {number[]} Importances
*/
importance(): number[];
/**
* Returns predicted values.
* @param {Array<Array<number>>} data Sample data
* @returns {number[]} Predicted values
*/
predict_value(data: Array<Array<number>>): number[];
}
export {};