@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
45 lines (44 loc) • 1.48 kB
TypeScript
/**
* Histogram
*/
export default class Histogram {
/**
* @param {object} [config] Config
* @param {Array<Array<number>>} [config.range] Bin ranges
* @param {Array<[number, number]>} [config.domain] Domain of each dimension
* @param {number} [config.size] Bin size
* @param {number} [config.count] Bin count
* @param {'fd' | 'scott' | 'rice' | 'sturges' | 'doane' | 'sqrt'} [config.binMethod] Bin method
*/
constructor(config?: {
range?: Array<Array<number>>;
domain?: Array<[number, number]>;
size?: number;
count?: number;
binMethod?: "fd" | "scott" | "rice" | "sturges" | "doane" | "sqrt";
});
_config: {
range?: Array<Array<number>>;
domain?: Array<[number, number]>;
size?: number;
count?: number;
binMethod?: "fd" | "scott" | "rice" | "sturges" | "doane" | "sqrt";
};
/**
* Returns histogram data.
* @param {Array<Array<number>>} datas Training data
* @returns {*[]} Predicted values. An array nested by the number of dimensions of the data
*/
fit(datas: Array<Array<number>>): any[];
_size: number;
_count: number;
_ranges: number[][];
_separate_datas: any[];
_dense: any[];
/**
* Returns predicted counted values.
* @param {Array<Array<number>>} datas Sample data
* @returns {number[]} Predicted values
*/
predict(datas: Array<Array<number>>): number[];
}