DBSCAN (density-based spatial clustering of applications with noise) algorithm.
The DBSCAN algorithm forms clusters based on the idea of density connectivity, i.e.
a point p is density connected to another point q, if there exists a chain of
points pi, with i = 1 .. n and p1 = p and pn = q,
such that each pair i, pi+1> is directly density-reachable.
A point q is directly density-reachable from point p if it is in the ε-neighborhood
of this point.
Any point that is not density-reachable from a formed cluster is treated as noise, and
will thus not be present in the result.
The algorithm requires two parameters:
- eps: the distance that defines the ε-neighborhood of a point
- minPoints: the minimum number of density-connected points required to form a cluster