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
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 parameterssim
andkind
, wheresim
is a distance function between vectors (the default function is the euclidean), andkind
is the string name for the function to calculate distance between clusters, and it could besingle
(default),complete
,average
,centroid
orward
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 parameterssim
andkind
, wheresim
is a distance function between vectors (the default function is the euclidean), andkind
is the string name for the function to calculate distance between clusters, and it could besingle
(default),complete
,average
,centroid
orward
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])
Test
$ npm install
$ npm test