@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
43 lines (42 loc) • 1.43 kB
TypeScript
/**
* Kernel density estimator
*/
export default class KernelDensityEstimator {
/**
* @param {number} [h] Smoothing parameter for the kernel
* @param {'gaussian' | 'rectangular' | 'triangular' | 'epanechnikov' | 'biweight' | 'triweight' | { name: 'gaussian' } | { name: 'rectangular' } | { name: 'triangular' } | { name: 'epanechnikov' } | { name: 'biweight' } | { name: 'triweight' } | function (number): number} [kernel] Kernel name
*/
constructor(h?: number, kernel?: 'gaussian' | 'rectangular' | 'triangular' | 'epanechnikov' | 'biweight' | 'triweight' | {
name: 'gaussian';
} | {
name: 'rectangular';
} | {
name: 'triangular';
} | {
name: 'epanechnikov';
} | {
name: 'biweight';
} | {
name: 'triweight';
} | ((arg0: number) => number));
_h: number;
_kernel: any;
/**
* Fit model.
* @param {Array<Array<number>>} x Training data
*/
fit(x: Array<Array<number>>): void;
_x: number[][];
/**
* Returns probabilities of the datas.
* @param {Array<Array<number>>} x Sample data
* @returns {number[]} Predicted values
*/
probability(x: Array<Array<number>>): number[];
/**
* Returns probabilities of the datas.
* @param {Array<Array<number>>} x Sample data
* @returns {number[]} Predicted values
*/
predict(x: Array<Array<number>>): number[];
}