DBSCAN

A density based clustering algorithm, implemented according to the original paper

https://github.com/captainjtx/DBSCAN

You are now following this Submission

A simple DBSCAN implementation of the original paper: "A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise" -- Martin Ester et.al. DBSCAN is capable of clustering arbitrary shapes with noise.
Since no spatial access method is implemented, the run time complexity will be N^2 rather than N*logN.
**************************************************************************
An additional demo (demo.m) with spiral synthetic dataset is included. And a stepwise animation of clustering (demo_stepwise) is also provided.
**************************************************************************
Input: DistMat, Eps, MinPts
DistMat: A N*N distance matrix, the (i,j) element contains the distance from point-i to point-j.
Eps: A scalar value for Epsilon-neighborhood threshold.
MinPts: A scalar value for minimum points in Eps-neighborhood that holds the core-point condition.
**************************************************************************
Output: Clust
Clust: A N*1 vector describes the cluster membership for each point. 0 is reserved for NOISE.

Cite As

Tianxiao (2026). DBSCAN (https://github.com/captainjtx/DBSCAN), GitHub. Retrieved .

Acknowledgements

Inspired by: 6 functions for generating artificial datasets

Categories

Find more on Statistics and Machine Learning Toolbox in Help Center and MATLAB Answers

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes Action
1.0.0.0

Change Title
Modify Description
Modify the summary

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.