JSPM

apr144-dbscan

1.1.1-051524
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q24277F
  • License MIT

Customizable DBSCAN clustering for arbitrary datasets

Package Exports

  • apr144-dbscan
  • apr144-dbscan/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (apr144-dbscan) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@cdxoo/dbscan

Customizable DBSCAN clustering for arbirary datasets.

Installation

npm install --save @cdxoo/dbscan

Usage

const dbscan = require('@cdxoo/dbscan');
    
let simpleResult = dbscan({
    dataset: [21,22,23,24, 27,28,29,30, 9001],
    epsilon: 1.01,
});
// => {
//    clusters: [ [0,1,2,3], [4,5,6,7] ],
//    noise: [ 8 ]
//}

let objectResult = dbscan({
    dataset: [{ foo: 21 }, { foo: 22 }, { foo: 27 }, { foo: 28 }],
    epsilon: 1.1,
    distanceFunction: (a,b) => Math.abs(a.foo - b.foo)
});
// => {
//    clusters: [ [0,1], [2,3] ],
//    noise: []
//}

Parameters

dbscan({
    dataset: [],  // An array of datapoints.
                  // Datapojnts can be anything when you
                  // use a custom distance function.
    epsilon: 1.3, // Maximum distance between datapoints.
                  // Determine if a datapoint is in a cluster or not.
                  // Default is 1.0
    epsilonCompare: (distance, epsilon) => ( /*...*/ ),
                  // Custom function to compare calculated
                  // distance and epsilon. Must return true/false.
                  // Default is (dist, e) => (dist < e)
    distanceFunction: (a, b) => ( /*...*/ ),
                  // Custom function to calculate the distance
                  // between two datapoints. Must be given when
                  // working with higher dimensional datasets,
                  // or datasets whose items are objects.
                  // The default function only works on
                  // one-dimensional data points.
                  // Defaults is (a, b) => Math.abs(a - b)
    minimumPoints: 2,
                  // Threshold of how many points are needed
                  // in the same neighborhood to form a cluster.
                  // Default is 2
             
})