Releases: annoviko/pyclustering
pyclustering 0.10.1.2 release
pyclustering 0.10.1.1 release
pyclustering 0.10.1.1 library is a collection of clustering algorithms, oscillatory networks, etc.
CORRECTED MAJOR BUGS:
- Corrected bug with incorrect cluster allocation for K-Medoids (C++
pyclustering::clst::kmeadois
).
See: #659
pyclustering 0.10.1 release
pyclustering 0.10.1 library is a collection of clustering algorithms, oscillatory networks, etc.
GENERAL CHANGES:
-
The library is distributed under
BSD-3-Clause
library.
See: #517 -
C++ pyclustering can be built using CMake.
See: #603 -
Supported dumping and loading for DBSCAN algorithm via
pickle
(Python:pyclustering.cluster.dbscan
).
See: #650 -
Package installer resolves all required dependencies automatically.
See: #647 -
Introduced human-readable error for genetic clustering algorithm in case of non-normalized data (Python:
pyclustering.cluster.ga
).
See: #597 -
Optimized windows implementation
parallel_for
andparallel_for_each
by usingpyclustering::parallel
instead ofPPL
that affects all algorithms which use these functions (C++:pyclustering::parallel
).
See: #642 -
Optimized
parallel_for
algorithm for short cycles that affects all algorithms which useparallel_for
(C++:pyclustering::parallel
).
See: #642 -
Introduced
kstep
parameter forelbow
algorithm to use custom K search steps (Python:pyclustering.cluster.elbow
, C++:pyclustering::cluster::elbow
).
See: #489 -
Introduced
p_step
parameter forparallel_for
function (C++:pyclustering::parallel
).
See: #640 -
Optimized python implementation of K-Medoids algorithm (Python:
pyclustering.cluster.kmedoids
).
See: #526 -
C++ pyclustering CLIQUE interface returns human-readable errors (Python:
pyclustering.cluster.clique
).
See: #635
See: #634 -
Introduced
metric
parameter for X-Means algorithm to use custom metric for clustering (Python:pyclustering.cluster.xmeans
; C++pyclustering::clst::xmeans
).
See: #619 -
Introduced
alpha
andbeta
probabilistic bounds for MNDL splitting criteria for X-Means algorithm (Python:pyclustering.cluster.xmeans
; C++:pyclustering::clst::xmeans
).
See: #624
CORRECTED MAJOR BUGS:
-
Corrected bug with a command
python3 -m pyclustering.tests
that was using the current folder to find tests to run (Python:pyclustering
).
See: #648 -
Corrected bug with Elbow algorithm where
kmax
is not used to calculateK
(Python:pyclustering.cluster.elbow
; C++:pyclustering::clst::elbow
).
See: #639 -
Corrected implementation of K-Medians (PAM) algorithm that is aligned with original algorithm (Python:
pyclustering.cluster.kmedoids
; C++:pyclustering::clst::kmedoids
).
See: #503 -
Corrected literature references that were for K-Medians (PAM) implementation (Python:
pyclustering.cluster.kmedoids
).
See: #572 -
Corrected bug when K-Medoids updates input parameter
initial_medoids
that were provided to the algorithm (Python:pyclustering.cluster.kmedoids
).
See: #630 -
Corrected bug with Euclidean distance when numpy is used (Python:
pyclustering.utils.metric
).
See: #625 -
Corrected bug with Minkowski distance when numpy is used (Python:
pyclustering.utils.metric
).
See: #626 -
Corrected bug with Gower distance when numpy calculation is used and data shape is bigger than 1 (Python:
pyclustering.utils.metric
).
See: #627 -
Corrected MNDL splitting criteria for X-Means algorithm (Python:
pyclustering.cluster.xmeans
; C++:pyclustering::clst::xmeans
).
See: #623
pyclustering 0.10.0.1 release
pyclustering 0.10.0.1 library is a collection of clustering algorithms and methods, oscillatory networks, etc.
GENERAL CHANGES:
-
Metadata of the library is updated.
See: no reference -
Supported command
test
forsetup.py
script (Python:pyclustering
).
See: #607 -
Introduced parameter
random_seed
for algorithms/models to control the seed of the random functionality:kmeans++
,random_center_initializer
,ga
,gmeans
,xmeans
,som
,somsc
,elbow
,silhouette_ksearch
(Python:pyclustering.cluster
; C++:pyclustering.clst
).
See: #578 -
Introduced parameter
k_max
to G-Means algorithm to use it as an optional stop condition for the algorithm (Python:pyclustering.cluster.gmeans
; C++:pyclustering::clst::gmeans
).
See: #602 -
Implemented method
save()
forcluster_visualizer
andcluster_visualizer_multidim
to save visualization to file (Python:pyclustering.cluster
).
See: #601 -
Optimization of CURE algorithm using balanced KD-tree (Python:
pyclustering.cluster.cure
; C++:pyclustering::clst::cure
).
See: #589 -
Optimization of OPTICS algorithm using balanced KD-tree (Python:
pyclustering.cluster.optics
; C++:pyclustering::clst::optics
).
See: #588 -
Optimization of DBSCAN algorithm using balanced KD-tree (Python:
pyclustering.cluster.dbscan
; C++:pyclustering::clst::dbscan
).
See: #587 -
Implemented new optimized balanced KD-tree
kdtree_balanced
(Python:pyclustering.cluster.kdtree
; C++:pyclustering::container::kdtree_balanced
).
See: #379 -
Implemented KD-tree graphical visualizer
kdtree_visualizer
for KD-trees with 2-dimensional data (Python:pyclustering.container.kdtree
).
See: #586 -
Updated interface of each clustering algorithm in C/C++ pyclustering
cluster_data
is substituted by concrete classes (C++pyclustering::clst
).
See: #577
CORRECTED MAJOR BUGS:
-
Bug with wrong data type for
scores
in Silhouette K-search algorithm in case of using C++ (Python:pyclustering.cluster.silhouette
).
See: #606 -
Bug with a random distribution in the random center initializer (Python:
pyclustering.cluster.center_initializer
).
See: #573 -
Bug with incorrect converting Index List and Object List to Labeling when clusters do not contains one or more points from an input data (Python
pyclustering.cluster.encoder
).
See: #596 -
Bug with an exception in case of using user-defined metric for K-Means algorithm (Python
pyclustering.cluster.kmeans
).
See: #600 -
Memory leakage in the interface between python and C++ pyclustering library in case of CURE algorithm usage (C++
pyclustering
).
See: #581
pyclustering 0.10.0 pre-release
pyclustering 0.10.0 library is a collection of clustering algorithms and methods, oscillatory networks, etc.
GENERAL CHANGES:
-
Supported command
test
forsetup.py
script (Python:pyclustering
).
See: #607 -
Introduced parameter
random_seed
for algorithms/models to control the seed of the random functionality:kmeans++
,random_center_initializer
,ga
,gmeans
,xmeans
,som
,somsc
,elbow
,silhouette_ksearch
(Python:pyclustering.cluster
; C++:pyclustering.clst
).
See: #578 -
Introduced parameter
k_max
to G-Means algorithm to use it as an optional stop condition for the algorithm (Python:pyclustering.cluster.gmeans
; C++:pyclustering::clst::gmeans
).
See: #602 -
Implemented method
save()
forcluster_visualizer
andcluster_visualizer_multidim
to save visualization to file (Python:pyclustering.cluster
).
See: #601 -
Optimization of CURE algorithm using balanced KD-tree (Python:
pyclustering.cluster.cure
; C++:pyclustering::clst::cure
).
See: #589 -
Optimization of OPTICS algorithm using balanced KD-tree (Python:
pyclustering.cluster.optics
; C++:pyclustering::clst::optics
).
See: #588 -
Optimization of DBSCAN algorithm using balanced KD-tree (Python:
pyclustering.cluster.dbscan
; C++:pyclustering::clst::dbscan
).
See: #587 -
Implemented new optimized balanced KD-tree
kdtree_balanced
(Python:pyclustering.cluster.kdtree
; C++:pyclustering::container::kdtree_balanced
).
See: #379 -
Implemented KD-tree graphical visualizer
kdtree_visualizer
for KD-trees with 2-dimensional data (Python:pyclustering.container.kdtree
).
See: #586 -
Updated interface of each clustering algorithm in C/C++ pyclustering
cluster_data
is substituted by concrete classes (C++pyclustering::clst
).
See: #577
CORRECTED MAJOR BUGS:
-
Bug with wrong data type for
scores
in Silhouette K-search algorithm in case of using C++ (Python:pyclustering.cluster.silhouette
).
See: #606 -
Bug with a random distribution in the random center initializer (Python:
pyclustering.cluster.center_initializer
).
See: #573 -
Bug with incorrect converting Index List and Object List to Labeling when clusters do not contains one or more points from an input data (Python
pyclustering.cluster.encoder
).
See: #596 -
Bug with an exception in case of using user-defined metric for K-Means algorithm (Python
pyclustering.cluster.kmeans
).
See: #600 -
Memory leakage in the interface between python and C++ pyclustering library in case of CURE algorithm usage (C++
pyclustering
).
See: #581
pyclustering 0.9.3.1 release
pyclustering 0.9.3.1 library is a collection of clustering algorithms and methods, oscillatory networks, etc.
CORRECTED MAJOR BUGS:
- Hotfix for the CF-tree - call method with incorrect amount of arguments.
See: #570
pyclustering 0.9.3 release
pyclustering 0.9.3 library is a collection of clustering algorithms and methods, oscillatory networks, etc.
GENERAL CHANGES:
-
Introduced
get_cf_clusters
andget_cf_entries
methods for BIRCH algorithm to get CF-entry encoding information (pyclustering.cluster.birch).
See: #569 -
Introduced
predict
method for SOMSC algorithm to find closest clusters for specified points (pyclustering.cluster.somsc).
See: #546 -
Parallel optimization of C++ pyclustering compilation process.
See: #553 -
Include folder for easy integration to other C++ projects.
See: #554 -
Introduced new targets to build static libraries on Windows platform.
See: #555 -
Introduced new targets to build static libraries on Linux/MacOS platforms.
See: #556
CORRECTED MAJOR BUGS:
-
Bug with incorrect finding of closest CF-entry (pyclustering.container.cftree).
See: #564 -
Bug with incorrect BIRCH clustering due incorrect leaf analysis (pyclustering.cluster.birch).
See: #563 -
Bug with incorrect search procedure of farthest nodes in CF-tree (pyclustering.container.cftree).
See: #551 -
Bug with crash during clustering with the same points in case of BIRCH (pyclustering.cluster.birch).
See: #561
pyclustering 0.9.2 release
pyclustering 0.9.2 library is a collection of clustering algorithms and methods, oscillatory networks, etc.
GENERAL CHANGES:
-
Introduced checking of input arguments for clustering algorithm to provide human-readable errors (pyclustering.cluster).
See: #548 -
Implemented functionality to perform Anderson-Darling test for Gaussian distribution (ccore.stats).
See: #550 -
Implemented new clustering algorithm G-Means (pyclustering.cluster.gmeans, ccore.clst.gmeans).
See: #506 -
Introduced parameter
repeat
to improve parameters in X-Means algorithm (pyclustering.cluster.xmeans, ccore.clst.xmeans).
See: #525 -
Introduced new distance metric: Gower (pyclustering.utils.metric, ccore.utils.metric).
See: #544 -
Introduced sampling algorithms
reservoir_r
andreservoir_x
(pyclustering.utils.sampling).
See: #542 -
Introduced parameter
data_type
to Silhouette method to use distance matrix (pyclustering.cluster.silhouette, ccore.clst.silhouette).
See: #543 -
Optimization of HHN (Hodgkin-Huxley Neural Network) by parallel processing (ccore.nnet.hhn).
See: #541 -
Introduced
get_total_wce
method forxmeans
algorithm to find WCE (pyclustering.cluster.xmeans).
See: #508
CORRECTED MAJOR BUGS:
- Incorrect center initialization in K-Means++ when candidates are not farthest (pyclustering.cluster.center_initializer).
See: #549
pyclustering 0.9.1 release
pyclustering 0.9.1 library is a collection of clustering algorithms and methods, oscillatory networks, neural networks, etc.
GENERAL CHANGES:
-
Introduced
predict
method for X-Means algorithm to find closest clusters for particular points (pyclustering.cluster.xmeans).
See: #540 -
Optimization of OPTICS algorithm by reducing complexity (ccore.clst.optics).
See: #521 -
Optimization of K-Medians algorithm by parallel processing (ccore.clst.kmedians).
See: #529 -
Introduced
predict
method for K-Medoids algorithm to find closest clusters for particular points (pyclustering.cluster.kmedoids).
See: #527 -
Introduced
predict
method for K-Means algorithm to find closest clusters for particular points (pyclustering.cluster.kmeans).
See: #515 -
Parallel optimization of Elbow method. (ccore.clst.elbow).
See: #511
pyclustering 0.9.0 release
pyclustering 0.9.0 library is a collection of clustering algorithms and methods, oscillatory networks, neural networks, etc.
GENERAL CHANGES:
-
CCORE (pyclustering core) is supported for MacOS.
See: #486 -
Introduced parallel Fuzzy C-Means algorithm (pyclustering.cluster.fcm, ccore.clst.fcm).
See: #386 -
Introduced new 'itermax' parameter for K-Means, K-Medians, K-Medoids algorithm to control maximum amount of iterations (pyclustering.cluster, ccore.clst).
See: #496 -
Implemented Silhouette and Silhouette K-Search algorithm for CCORE (ccore.clst.silhouette, ccore.clst.silhouette_ksearch).
See: #490 -
Implemented CLIQUE algorithms (pyclustering.cluster.clique, ccore.clst.clique).
See: #381 -
Introduced new distance metrics: Canberra and Chi Square (pyclustering.utils.metric, ccore.utils.metric).
See: #482 -
Optimization of CURE algorithm (C++ implementation) by using heap (multiset) instead of list to store clusters in queue (ccore.clst.cure).
See: #479
CORRECTED MAJOR BUGS:
-
Bug with crossover mask generation for genetic clustering algorithm (pyclustering.cluster.ga).
See: #474 -
Bug with hanging of K-Medians algorithm for some cases when algorithm is initialized by wrong amount of centers (ccore.clst.kmedians).
See: #498 -
Bug with incorrect center initialization, when the same point can be placed to result more than once (pyclustering.cluster.center_initializer, ccore.clst.kmeans_plus_plus).
See: #497 -
Bug with incorrect clustering in case of CURE python implementation when clusters are allocated incorrectly (pyclustering.cluster.cure).
See: #483 -
Bug with incorrect distance calculation for kmeans++ in case of index representation for centers (pyclustering.cluster.center_initializer).
See: #485