The hierarchical-clustering package
This package provides a function to create a dendrogram from a list of items and a distance function between them. Initially a singleton cluster is created for each item, and then new, bigger clusters are created by merging the two clusters with least distance between them. The distance between two clusters is calculated according to the linkage type. The dendrogram represents not only the clusters but also the order on which they were created.
This function uses a naïve algorithm that represents distances in a rectangular distance matrix. There could be space improvements (e.g. using a triangular matrix structure) and time improvements (e.g. using a finger tree to avoid traversing the whole matrix on every iteration just to see what the minimum is).
Changes in version 0.3.1.2 (version 0.3.1.1 was skipped):
Added tests for many things. Use cabal test =).
Changes in version 0.3.1:
Works with containers 0.4 (thanks, Doug Beardsley).
Removed some internal unnecessary overheads and added some strictness.
Changes in version 0.3.0.1:
Listed changes of unreleased version 0.2.
Changes in version 0.3:
Added function cutAt.
Fixed complexity in Haddock comments.
Changes in version 0.2:
Added function elements.
Added separate functions for each linkage type. This may be useful if you want to create a dendrogram and your distance data type isn't an instance of Floating.
|Versions||0.1, 0.3, 0.3.0.1, 0.3.1, 0.3.1.2, 0.4, 0.4.1, 0.4.2, 0.4.3|
|Dependencies||array (0.3.*), base (4.*), containers (≥0.3 & <0.5)|
|Author||Felipe Almeida Lessa|
|Source repository||darcs get http://patch-tag.com/r/felipe/hierarchical-clustering|
|Upload date||Sun Oct 30 00:18:19 UTC 2011|