Skip to content

Releases: annoviko/pyclustering

pyclustering 0.10.1.2 release

25 Nov 22:33
Compare
Choose a tag to compare

pyclustering 0.10.1.2 library is a collection of clustering algorithms, oscillatory networks, etc.

CORRECTED MAJOR BUGS:

  • Corrected bug with empty clusters for K-Medoids (C++ pyclustering::clst::kmeadois).
    See: #659

pyclustering 0.10.1.1 release

24 Nov 19:47
Compare
Choose a tag to compare

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

19 Nov 09:25
Compare
Choose a tag to compare

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 and parallel_for_each by using pyclustering::parallel instead of PPL 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 use parallel_for (C++: pyclustering::parallel).
    See: #642

  • Introduced kstep parameter for elbow algorithm to use custom K search steps (Python: pyclustering.cluster.elbow, C++: pyclustering::cluster::elbow).
    See: #489

  • Introduced p_step parameter for parallel_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 and beta 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 calculate K (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

17 Aug 09:21
Compare
Choose a tag to compare

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 for setup.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() for cluster_visualizer and cluster_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

17 Aug 08:43
Compare
Choose a tag to compare
Pre-release

pyclustering 0.10.0 library is a collection of clustering algorithms and methods, oscillatory networks, etc.

GENERAL CHANGES:

  • Supported command test for setup.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() for cluster_visualizer and cluster_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

24 Dec 08:48
Compare
Choose a tag to compare

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

23 Dec 09:42
Compare
Choose a tag to compare

pyclustering 0.9.3 library is a collection of clustering algorithms and methods, oscillatory networks, etc.

GENERAL CHANGES:

  • Introduced get_cf_clusters and get_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

10 Oct 07:16
Compare
Choose a tag to compare

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 and reservoir_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 for xmeans 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

04 Sep 11:25
Compare
Choose a tag to compare

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

18 Apr 13:46
Compare
Choose a tag to compare

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