Skip to content

Commit 7947ad2

Browse files
committed
Merge branch 'release/1.4.1.post1'
2 parents 201ac07 + 3177ce2 commit 7947ad2

File tree

8 files changed

+289
-97
lines changed

8 files changed

+289
-97
lines changed

CHANGELOG

Lines changed: 129 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,129 @@
1-
1.4.0
2-
- Added a "display" method to hierarchical clusters (by 1kastner).
3-
4-
1.2.1
5-
- Fixed an issue in multiprocessing code.
6-
7-
1.2.0
8-
- Multiprocessing (by loisaidasam)
9-
- Python 3 support
10-
- Split up one big file into smaller more logical sub-modules
11-
- Fixed https://github.com/exhuma/python-cluster/issues/11
12-
- Documentation update.
13-
14-
1.1.1b3
15-
- Fixed bug #1727558
16-
- Some more unit-tests
17-
- ValueError changed to ClusteringError where appropriate
18-
19-
1.1.1b2
20-
- Fixed bug #1604859 (thanks to Willi Richert for reporting it)
21-
22-
1.1.1b1
23-
- Applied patch [1535137] (thanks ajaksu)
24-
--> Topology output supported
25-
--> data and raw_data are now properties.
26-
27-
1.1.0b1
28-
- KMeans Clustering implemented for simple numeric tuples.
29-
Data in the form [(1,1), (2,1), (5,3), ...]
30-
can be clustered.
31-
32-
Usage:
33-
34-
>>> from cluster import KMeansClustering
35-
>>> cl = KMeansClustering([(1,1), (2,1), (5,3), ...])
36-
>>> clusters = cl.getclusters(2)
37-
38-
the method "getclusters" takes the amount of clusters you would like to
39-
have as parameter.
40-
41-
Only numeric values are supported in the tuples. The reason for this is
42-
that the "centroid" method which I use, essentially returns a tuple of
43-
floats. So you will lose any other kind of metadata. Once I figure out a
44-
way how to recode that method, other types should be possible.
45-
46-
1.0.1b2
47-
- Optimized calculation of the hierarchical clustering by using the fact, that
48-
the generated matrix is symmetrical.
49-
50-
1.0.1b1
51-
- Implemented complete-, average-, and uclus-linkage methods. You can select
52-
one by specifying it in the constructor, for example:
53-
54-
cl = HierarchicalClustering(data, distfunc, linkage='uclus')
55-
56-
or by setting it before starting the clustering process:
57-
58-
cl = HierarchicalClustering(data, distfunc)
59-
cl.setLinkageMethod('uclus')
60-
cl.cluster()
61-
62-
- Clustering is not executed on object creation, but on the first call of
63-
"getlevel". You can force the creation of the clusters by calling the
64-
"cluster" method as shown above.
1+
Release 1.4.1.post1
2+
===================
3+
4+
This is a "house-keeping" commit. No new features or fixes are introduced.
5+
6+
* Update changelog.
7+
* Switch doc-building to use ``pipenv`` & update ``Pipfile`` accordingly.
8+
9+
Release 1.4.1
10+
=============
11+
12+
* Fix clustering of dictionaries. See GitHub issue #28 (Tim Littlefair).
13+
14+
Release 1.4.0
15+
=============
16+
17+
* Added a "display" method to hierarchical clusters (by 1kastner).
18+
19+
Release 1.3.2 & 1.3.3
20+
=====================
21+
22+
* Fix regression introduced in 1.3.1 related to package version metadata.
23+
24+
Release 1.3.1
25+
=============
26+
27+
* Don't break if the cluster is initiated with iterable elements (GitHub Issue
28+
#20).
29+
* Fix package version metadata in setup.py
30+
31+
Release 1.3.0
32+
=============
33+
34+
* Performance improvments for hierarchical clustering (at the cost of memory)
35+
* Cluster instances are now iterable. It will iterate over each element,
36+
resulting in a flat list of items.
37+
* New option to specify a progress callback to hierarchical clustring. This
38+
method will be called on each iteration for hierarchical clusters. It gets
39+
two numeric values as argument: The total count of elements, and the number
40+
of processed elements. It gives users a way to present to progress on screen.
41+
* The library now also has a ``__version__`` member.
42+
43+
44+
Release 1.2.2
45+
=============
46+
47+
* Package metadata fixed.
48+
49+
Release 1.2.1
50+
=============
51+
52+
* Fixed an issue in multiprocessing code.
53+
54+
Release 1.2.0
55+
=============
56+
57+
* Multiprocessing (by loisaidasam)
58+
* Python 3 support
59+
* Split up one big file into smaller more logical sub-modules
60+
* Fixed https://github.com/exhuma/python-cluster/issues/11
61+
* Documentation update.
62+
* Migrated to GitHub
63+
64+
Release 1.1.1b3
65+
===============
66+
67+
* Fixed bug #1727558
68+
* Some more unit-tests
69+
* ValueError changed to ClusteringError where appropriate
70+
71+
Release 1.1.1b2
72+
===============
73+
74+
* Fixed bug #1604859 (thanks to Willi Richert for reporting it)
75+
76+
Release 1.1.1b1
77+
===============
78+
79+
* Applied SVN patch [1535137] (thanks ajaksu)
80+
81+
* Topology output supported
82+
* ``data`` and ``raw_data`` are now properties.
83+
84+
Release 1.1.0b1
85+
===============
86+
87+
* KMeans Clustering implemented for simple numeric tuples.
88+
89+
Data in the form ``[(1,1), (2,1), (5,3), ...]`` can be clustered.
90+
91+
Usage::
92+
93+
>>> from cluster import KMeansClustering
94+
>>> cl = KMeansClustering([(1,1), (2,1), (5,3), ...])
95+
>>> clusters = cl.getclusters(2)
96+
97+
The method ``getclusters`` takes the amount of clusters you would like to
98+
have as parameter.
99+
100+
Only numeric values are supported in the tuples. The reason for this is
101+
that the "centroid" method which I use, essentially returns a tuple of
102+
floats. So you will lose any other kind of metadata. Once I figure out a
103+
way how to recode that method, other types should be possible.
104+
105+
Release 1.0.1b2
106+
===============
107+
108+
* Optimized calculation of the hierarchical clustering by using the fact, that
109+
the generated matrix is symmetrical.
110+
111+
Release 1.0.1b1
112+
===============
113+
114+
* Implemented complete-, average-, and uclus-linkage methods. You can select
115+
one by specifying it in the constructor, for example::
116+
117+
cl = HierarchicalClustering(data, distfunc, linkage='uclus')
118+
119+
or by setting it before starting the clustering process::
120+
121+
cl = HierarchicalClustering(data, distfunc)
122+
cl.setLinkageMethod('uclus')
123+
cl.cluster()
124+
125+
* Clustering is not executed on object creation, but on the first call of
126+
``getlevel``. You can force the creation of the clusters by calling the
127+
``cluster`` method as shown above.
128+
129+
.. vim: filetype=rst :

Pipfile

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,14 @@ url = "https://pypi.python.org/simple"
55
name = "pypi"
66

77

8-
[requires]
9-
10-
python_version = "3.5"
11-
12-
138
[packages]
149

15-
"e1839a8" = {editable = true, path = "."}
10+
"e1839a8" = {path = ".", editable = true}
1611

1712

1813
[dev-packages]
1914

2015
pytest = "*"
2116
pytest-cache = "*"
17+
sphinx = "*"
18+
"e1839a8" = {editable = true, path = "."}

0 commit comments

Comments
 (0)