/** @import { InputType } from "../index.js" */ /** @import { ParametersCURE } from "./index.js" */ /** * CURE (Clustering Using REpresentatives) * * An efficient clustering algorithm for large databases that is robust to outliers * and identifies clusters with non-spherical shapes and wide variances in size. * * @class * @extends Clustering * @category Clustering */ export class CURE extends Clustering { /** * @param {InputType} points * @param {Partial} parameters */ constructor(points: InputType, parameters?: Partial); /** @type {number} */ _K: number; /** @type {number} */ _num_representatives: number; /** @type {number} */ _shrink_factor: number; /** * @private * @type {CURECluster[]} */ private _clusters; /** @type {number[]} */ _cluster_ids: number[]; /** * Initialize each point as its own cluster * @private */ private _initialize_clusters; /** * Compute distance between two clusters using representative points * @private * @param {CURECluster} cluster1 * @param {CURECluster} cluster2 * @returns {number} */ private _cluster_distance; /** * Find the closest pair of clusters * @private * @returns {[number, number, number]} [index1, index2, distance] */ private _find_closest_clusters; /** * Merge two clusters * @private * @param {CURECluster} cluster1 * @param {CURECluster} cluster2 * @returns {CURECluster} */ private _merge_clusters; /** * Run CURE clustering algorithm * @private */ private _cure; /** * Build the cluster list (point -> cluster assignment) * @private */ private _build_cluster_ids; /** * @returns {number[][]} */ get_clusters(): number[][]; /** * @returns {number[]} */ get_cluster_list(): number[]; } import type { ParametersCURE } from "./index.js"; import { Clustering } from "./Clustering.js"; import type { InputType } from "../index.js"; //# sourceMappingURL=CURE.d.ts.map