← Back to all sparks
D

dbscan

AI-ASSISTANTS
Velocity0.0

Density-Based Spatial Clustering of Applications with Noise (DBSCAN) and Related Algorithms

dbscan keeps absorbing the clustering literature without ever changing shape.

clusteringdensity-basedhdbscanopticsoutlier-detectionr-package
Current state
dbscan implements density-based clustering — DBSCAN, HDBSCAN, OPTICS, LOF, GLOSH — on top of an ANN kd-tree backend. The capability surface has grown steadily and without disruption: cluster_selection_epsilon and the DBCV index in 1.2.1, tidymodels tidiers in 1.2.0, core-point and connected-component helpers in 1.1.10. The 1.2.5 release in June 2026 changes the OPTICS default to eps = Inf and touches documentation.
Where it's heading
This is a mature reference implementation whose releases track published methods rather than product strategy. New parameters arrive when a paper defines them, new indices when the field adopts them, and the surrounding work is portability and plotting polish contributed by outside users. Recent releases have thinned to defaults and man pages, suggesting the current algorithm set is considered complete.
Prediction
The next substantive release will most likely add another published index or cluster-selection variant rather than restructure anything; that has been the pattern across the entire window.

Recent moves

  1. 2mo ago

    OPTICS now defaults to eps = Inf

    A default change with real consequences: OPTICS run without an explicit eps now considers the full reachability range rather than a bounded one, which is the parameter-free behavior the algorithm is usually described with. Existing calls that relied on the old default will produce different orderings.

    View source ↗
  2. 7mo ago

    Empty-matrix guard and ANN license metadata

    Input validation for zero-row or zero-column matrices, plus a licensing correction on the bundled ANN headers. Both user-reported, neither changes clustering behavior.

    View source ↗
  3. 11mo ago

    plot.hdbscan gains title and label control

    Main title, y-axis label and leaf-label parameters reach the HDBSCAN plot method, so dendrograms can be labeled without post-hoc surgery. Partial argument matches are cleaned up alongside.

    View source ↗
  4. 1y ago

    cluster_selection_epsilon and the DBCV index added

    The densest feature release in the window: HDBSCAN gains the Malzer and Baum cluster selection parameter, the DBCV validation index arrives, pointdensity accepts dist objects and Gaussian kernels, and ncluster(), nnoise() and clplot() fill out the utility surface. The minimal spanning tree code is rewritten underneath.

    View source ↗
  5. 2y ago

    tidymodels tidiers added for clusterings

    glance, tidy and augment methods let dbscan results flow into tidymodels workflows without manual extraction, and nobs methods make clusterings behave like fitted objects. The dist component is renamed to metric, and kNN and frNN now record which metric they used.

    View source ↗
  6. 4y ago

    Core-point tests and connected components exposed

    is.corepoint() for DBSCAN, coredist() and mrdist() for HDBSCAN, and comps() for connected components expose internals that previously had to be recomputed by hand. A memory leak in the mutual reachability calculation is fixed.

    View source ↗