Package org.apache.commons.math3.stat.clustering

# Class DBSCANClusterer<T extends Clusterable<T>>

java.lang.Object
org.apache.commons.math3.stat.clustering.DBSCANClusterer<T>

Type Parameters:
  `T` - type of the points to cluster

@Deprecated public class DBSCANClusterer<T extends Clusterable<T>> extends Object
Deprecated.
As of 3.2 (to be removed in 4.0), use `DBSCANClusterer` instead
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 <pi, 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

Note: as DBSCAN is not a centroid-based clustering algorithm, the resulting `Cluster` objects will have no defined center, i.e. `Cluster.getCenter()` will return `null`.

Since:
  3.1
See Also:
  - DBSCAN (wikipedia)
  - A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise

## Constructor Summary

Constructors
Constructor
Description
`DBSCANClusterer(double eps, int minPts)`
Deprecated.
Creates a new instance of a DBSCANClusterer.

## Method Summary

Modifier and Type
Method
Description
`List<Cluster<T>>`
`cluster(Collection<T> points)`
Deprecated.
Performs DBSCAN cluster analysis.
`double`
`getEps()`
Deprecated.
Returns the maximum radius of the neighborhood to be considered.
`int`
`getMinPts()`
Deprecated.
Returns the minimum number of points needed for a cluster.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### DBSCANClusterer

public DBSCANClusterer(double eps, int minPts) throws NotPositiveException
Deprecated.
Creates a new instance of a DBSCANClusterer.

Parameters:
  `eps` - maximum radius of the neighborhood to be considered
  `minPts` - minimum number of points needed for a cluster
Throws:
  `NotPositiveException` - if `eps < 0.0` or `minPts < 0`

## Method Details

### getEps

public double getEps()
Deprecated.
Returns the maximum radius of the neighborhood to be considered.

Returns:
  maximum radius of the neighborhood

### getMinPts

public int getMinPts()
Deprecated.
Returns the minimum number of points needed for a cluster.

Returns:
  minimum number of points needed for a cluster

### cluster

public List<Cluster<T>> cluster(Collection<T> points) throws NullArgumentException
Deprecated.
Performs DBSCAN cluster analysis.

Note: as DBSCAN is not a centroid-based clustering algorithm, the resulting `Cluster` objects will have no defined center, i.e. `Cluster.getCenter()` will return `null`.

Parameters:
  `points` - the points to cluster
Returns:
  the list of clusters
Throws:
  `NullArgumentException` - if the data points are null