DBSCAN.js
This library implements a minimal DBSCAN algorithm in javascript.
Installation
npm install dbscanjs
Usage
This library exposes a single function dbscan
.
dbscan(data, distance, epsilon, minPts) => labels [array]
data
: A list-like object of data to perform the clustering ondistance
: a function that takes any two items from the data array and returns a scalar value describing the distance between them.epsilon
: The maximum distance between two points for them to be considered as being in the same neighborhood.minPts
: The minimum number of points in any group for them to be considered a distinct group. All other points are considered to be noise, and will receive a label of -1.
labels
is the returned list of clustered group labels. These labels correspond to the data points in data
with the same array index. A label of -1 indicates the point is noise. All points with a value >= 0 indicate those points are in the same cluster, e.g. all points with label 1 belong to cluster 1.
Example
const dbscan = ; const data = 0 1 1 1 1 2 2 1 3 2 10 12 12 10 13 11 13 10 8 9; { x = Math; y = Math; return Math;} epsilon = 3;minPts = 2;labels = ; console;// [1, 1, 1, 1, 1, 0, 0, 0, 0, -1]