-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhierarchical-clustering.cabal
106 lines (99 loc) · 3.26 KB
/
hierarchical-clustering.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Name: hierarchical-clustering
Version: 0.4.7
Synopsis: Fast algorithms for single, average/UPGMA and complete linkage clustering.
License: BSD3
License-file: LICENSE
Author: Felipe Almeida Lessa
Maintainer: [email protected]
Category: Clustering
Build-type: Simple
Cabal-version: >= 1.8
Description:
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 package has many implementations with different
performance characteristics. There are SLINK and CLINK
algorithm implementations that are optimal in both space and
time. There are also naive implementations using a distance
matrix. Using the @dendrogram@ function from
@Data.Clustering.Hierarchical@ automatically chooses the best
implementation we have.
.
Changes in version 0.4:
.
* Specialize the distance type to Double for efficiency reasons.
It's uncommon to use distances other than Double.
.
* Implement SLINK and CLINK. These are optimal algorithms in
both space and time for single and complete linkage,
respectively, running in /O(n^2)/ time and /O(n)/ space.
.
* Reorganized internal implementation.
.
* Some performance improvements for the naive implementation.
.
* Better test coverage. Also, performance improvements for the
test suite, now running in 3 seconds (instead of one minute).
.
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@.
Extra-source-files:
tests/runtests.hs
Source-repository head
type: git
location: https://github.com/meteficha/hierarchical-clustering
Library
Hs-source-dirs: src
Exposed-modules:
Data.Clustering.Hierarchical,
Data.Clustering.Hierarchical.Internal.DistanceMatrix,
Data.Clustering.Hierarchical.Internal.Optimal,
Data.Clustering.Hierarchical.Internal.Types
Build-depends:
base == 4.*
, array >= 0.3
, containers >= 0.3
GHC-options: -Wall
Test-suite runtests
Type: exitcode-stdio-1.0
Hs-source-dirs: tests
Main-is: runtests.hs
Build-depends:
base == 4.*
, hspec >= 2.1
, HUnit >= 1.2
, QuickCheck >= 2.4
, hierarchical-clustering
GHC-options: -Wall