@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[];
}