UNPKG

@ai-on-browser/data-analysis-models

Version:

Data analysis model package without any dependencies

58 lines (57 loc) 1.76 kB
/** * Weighted Blurring Mean shift */ export default class WeightedBlurringMeanShift { /** * @param {number} h Smoothing parameter for the kernel * @param {number} lambda Distance threshold for determining same cluster * @param {number} threshold Distance threshold for determining same cluster * @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, lambda: number, threshold: number, kernel?: "gaussian" | "rectangular" | "triangular" | "epanechnikov" | "biweight" | "triweight" | { name: "gaussian"; } | { name: "rectangular"; } | { name: "triangular"; } | { name: "epanechnikov"; } | { name: "biweight"; } | { name: "triweight"; } | ((arg0: number) => number)); _x: number[][]; _c: any[]; _h: number; _lambda: number; _threshold: number; _kernel: any; /** * Category list * @type {number[]} */ get categories(): number[]; /** * Number of clusters * @type {number} */ get size(): number; _distance(a: any, b: any): number; /** * Initialize model. * @param {Array<Array<number>>} data Training data */ init(data: Array<Array<number>>): void; _w: any; /** * Returns predicted categories. * @returns {number[]} Predicted values */ predict(): number[]; /** * Fit model. * @returns {boolean} `true` if any centroids has moved */ fit(): boolean; }