JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10105
  • Score
    100M100P100Q140765F
  • License MIT

Hierarchical clustering algorithms in Javascript

Package Exports

  • ml-hclust

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 (ml-hclust) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

hclust

NPM version build status David deps npm download

Hierarchical clustering algorithms in JavaScript

Installation

npm install ml-hclust

Methods

Generate a clustering hierarchy.

new agnes(data,[options])

AGNES (AGglomerative NESting): Continuously merge nodes that have the least dissimilarity.

Arguments

  • data: Array of points to be clustered, are an array of arrays, as [[x1,y1],[x2,y2], ... ]
  • options: Is an object with the parameters sim and kind, where sim is a distance function between vectors (the default function is the euclidean), and kind is the string name for the function to calculate distance between clusters, and it could be single(default), complete, average, centroid or ward

getDendogram([input])

Returns a phylogram (a dendogram with weights) and change the leaves values for the values in input, if it's given.

Example

var hclust = require('ml-hclust')
var data = [[2,6], [3,4], [3,8]];
var HC = new hclust.agnes(data);
var dend1 = HC.getDendogram();
var dend2 = HC.getDendogram([{a:1},{b:2},{c:3}]);

nClusters(N)

Returns at least N clusters based in the clustering tree if it's possible

new diana(data,[options])

DIANA (Divisive ANAlysis): The process starts at the root with all the points as one cluster and recursively splits the higher level clusters to build the dendrogram.

Arguments

  • data: Array of points to be clustered, are an array of arrays, as [[x1,y1],[x2,y2], ... ]
  • options: Is an object with the parameters sim and kind, where sim is a distance function between vectors (the default function is the euclidean), and kind is the string name for the function to calculate distance between clusters, and it could be single(default), complete, average, centroid or ward

getDendogram([input])

Returns a phylogram (a dendogram with weights) and change the leaves values for the values in input, if it's given.

Example

var hclust = require('ml-hclust')
var data = [[2,6], [3,4], [3,8]];
var HC = new hclust.diana(data);
var dend1 = HC.getDendogram();
var dend2 = HC.getDendogram([{a:1},{b:2},{c:3}]);

nClusters(N)

Returns at least N clusters based in the clustering tree if it's possible

new birch(data,[options])

BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies): Incrementally construct a CF (Clustering Feature) tree, a hierarchical data structure for multiphase clustering

new cure(data,[options])

CURE (Clustering Using REpresentatives):

new chameleon(data,[options])

CHAMELEON

Test

$ npm install
$ npm test

Authors

License

MIT