UNPKG

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

Version:

Data analysis model package without any dependencies

76 lines (75 loc) 1.78 kB
/** * @typedef {object} CURENode * @property {number[]} [point] Data point of leaf node * @property {number} [index] Data index of leaf node * @property {number[][]} [repr] Represented points * @property {number} [distance] Distance between children nodes * @property {number} size Number of leaf nodes * @property {CURENode[]} [children] Children nodes * @property {CURENode[]} leafs Leaf nodes */ /** * Clustering Using REpresentatives */ export default class CURE { /** * @param {number} c Number of representative points */ constructor(c: number); _c: number; _a: number; _root: { repr: any[]; distance: number; children: any[]; readonly leafs: any[]; }; _distance(a: any, b: any): number; /** * Fit model. * @param {Array<Array<number>>} data Training data */ fit(data: Array<Array<number>>): void; /** * Returns the specified number of clusters. * @param {number} number Number of clusters * @returns {CURENode[]} Cluster nodes */ getClusters(number: number): CURENode[]; /** * Returns predicted categories. * @param {number} k Number of clusters * @returns {number[]} Predicted values */ predict(k: number): number[]; } export type CURENode = { /** * Data point of leaf node */ point?: number[]; /** * Data index of leaf node */ index?: number; /** * Represented points */ repr?: number[][]; /** * Distance between children nodes */ distance?: number; /** * Number of leaf nodes */ size: number; /** * Children nodes */ children?: CURENode[]; /** * Leaf nodes */ leafs: CURENode[]; };