UNPKG

als-statistics

Version:

Modular JS statistics toolkit for Node.js and the browser: descriptive stats, correlations (Pearson/Spearman/Kendall), t-tests & ANOVA (Student/Welch), reliability (Cronbach’s alpha), regression (linear/logistic), clustering (DBSCAN/HDBSCAN), and table/co

46 lines (31 loc) 1.56 kB
<title>Analyze · Clustering</title> <description>Density-based clustering over **columns** using precomputed distances between series.</description> <keywords>analyze, clustering, class, dbscan, public, fields, hdbscan, js, new, data, record, string</keywords> # Analyze · Clustering Density-based clustering over **columns** using precomputed distances between series. ## Class: `Dbscan` **Constructor** ```js new Dbscan(data: Record<string, number[]>, options?: { eps?: number, minPts?: number, metric?: 'mad' }) ``` - `eps` (default `0.4`), `minPts` (default `3`), `metric` (default `'mad'`). ### Public fields - `metric: string` - `eps: number` · `minPts: number` - `labels: number[]``0` unvisited, `-1` noise, `1..` cluster id per column. - `clusters: Array<{ id:number, columns:string[] }>` – built by `buildClusters`. - `distances: number[][]` – symmetric distance matrix. - Core methods (invoked by constructor): `findNeighbors(i)`, `expandCluster(i, clusterId)`, `run()`. ## Class: `Hdbscan` **Constructor** ```js new Hdbscan(data: Record<string, number[]>, options?: { metric?: 'mad', minClusterSize?: number }) ``` - `minClusterSize` defaults to `2`. ### Public fields - `metric: string`, `minClusterSize: number` - `labels: number[]` – final labels per column. - `clusters: Array<{ id:number, columns:string[] }>` - `mreachDistances: number[][]` – mutual reachability distances. - `mst: Array<[i,j,weight]>` – minimum spanning tree. - `hierarchy: Array<{ clusterId, lambdaBirth, lambdaDeath, points, size, children }>`