Skip to content

pyclustering 0.7.0 release

Compare
Choose a tag to compare
@annoviko annoviko released this 16 Oct 20:23
· 867 commits to master since this release

pyclustering 0.7.0 library is collection of clustering algorithms, oscllatory networks, neural networks, etc.

GENERAL CHANGES (pyclustering):

  • Implemented Expectation-Maximization clustering algorithm for Gaussian Mixute Model and clustering visualizer for this particular algorithm (pyclustering.cluster.ema)
    See: #16

  • Implemented Genetic Clustering Algorithm (GCA) and clustering visualizer for this particular algorithm (pyclustering.cluster.ga)
    See: #360

  • Implemented feature to obtain and visualize evolution of order parameter and local order parameter for Sync network and Sync-based algorithms (pyclustering.nnet.sync).
    See: #355

  • Implemented K-Means++ method for initialization of initial centers for algorithms like K-Means or X-Means (pyclustering.cluster.center_initializer).
    See: #354

  • Implemented fSync oscillatory network that is based on Landau-Stuart equation and Kuramoto model (pyclustering.nnet.fsync).
    See: #168

  • Optimization of pyclustering client to core library 'CCORE' library (pyclustering.core).
    See: #289
    See: #351

  • Implemented feature to show network structure of Sync family oscillatory networks in case 'ccore' usage.
    See: #344

  • Implemented feature to colorize OPTICS ordering diagram when amount of clusters is specified.
    See: no reference.

  • Improved clustering results in case of usage MNDL splitting criterion for small datasets.
    See: #328

  • Feature to display connectivity radius on cluster-ordering diagram by ordering_visualizer (pyclustering.cluster.optics).
    See: #314

  • Feature to use CCORE implementation of OPTICS algorithm to take advance in performance (pyclustering.cluster.optics).
    See: #120

  • Implemented feature to shows animation of pattern recognition process that has been performed by the SyncPR oscillatory network. Method 'animate_pattern_recognition()' of class 'syncpr_visualizer' (pyclustering.nnet.syncpr).
    See: https://www.youtube.com/watch?v=Ro7KbApL4MQ
    See: https://www.youtube.com/watch?v=iIusOsGehoY

  • Implemented feature to obtain nodes of specified level of CF-tree. Method 'get_level_nodes()' of class 'cftree' (pyclustering.container.cftree).
    See: no reference.

  • Implemented feature to allocate/display/animate phase matrix: 'allocate_phase_matrix()', 'show_phase_matrix()', 'animate_phase_matrix()' (pyclustering.nnet.sync).
    See: no reference.

  • Implemented chaotic neural network where clustering phenomenon can be observed: 'cnn_network', 'cnn_dynamic', 'cnn_visualizer' (pyclustering.nnet.cnn).
    See: #301

  • Implemented feature to analyse ordering diagram using amout of clusters that should be allocated as an input parameter to calculate correct connvectity radius for clustering (pyclustering.cluster.optics).
    See: #307

  • Implemented feature to omit usage of initial centers - X-Means starts processing from random initial center (pyclustering.cluster.xmeans).
    See: no reference.

  • Implemented feature for cluster visualizer: cluster attributes (pyclustering.cluster).
    See: #295

  • Implemented SOM-SC algorithm (SOM Simple Clustering) (pyclustering.cluster.somsc).
    See: #321

GENERAL CHANGES (ccore):

  • Implemented feature to obtain and visualize evolution of order parameter and local order parameter for Sync network and Sync-based algorithms (ccore.nnet.sync).
    See: #355

  • Cygwin x64 platform is supported (ccore).
    See: #353

  • Optimization of CCORE library interface (ccore.interface).
    See: #289

  • Implemented MNDL splitting crinterion for X-Means algorithm (ccore.cluster_analysis.xmeans).
    See: #159

  • Implemented OPTICS algorithm and interface for client that results all clustering results (ccore.cluster_analysis.optics).
    See: #120

  • Implmeneted packing of connectivity matrix of Sync family oscillatory networks (ccore.interface.sync_interface).
    See: #344

CORRECTED MAJOR BUGS:

  • Bug with segmentation fault during 'free()' on some linux operating systems.
    See: no reference.

  • Bug with sending the first element to cluster in OPTICS even if it is noise element.
    See: no reference.

  • Bug with amount of allocated clusters by K-Medoids algorithm in Python implementation and CCORE (pyclustering.cluster.kmedoids, ccore.cluster.medoids).
    See: #366
    See: #367

  • Bug with getting neighbors and getting information about connections in Sync-based network and algorithms in case of usage CCORE.
    See: no reference.

  • Bug with calculation of number of oscillations for output dynamics.
    See: no reference.

  • Memory leakage in LEGION in case of CCORE usage - API function 'legion_destroy()' was not called (pyclustering.nnet.legion).
    See: no reference.

  • Bug with crash of antmeans algorithm for python version 3.6.0:414df79263a11, Dec 23 2016 [MSC v.1900 64 bit (AMD64)] (pyclustering.cluster.antmeans).
    See: #350

  • Memory leakage in destructor of 'pyclustering_package' - exchange mechanism between ccore and pyclustering (ccore.interface.pyclustering_package').
    See: #347

  • Bug with loosing of the initial state of hSync output dynamic in case of CCORE usage (ccore.cluster.hsyncnet).
    See: #346

  • Bug with hSync output dynamic that was displayed with discontinous parts as a set of rectangles (pyclustering.cluster.hsyncnet).
    See: #345

  • Bug with visualization of CNN network in case 3D data (pyclustering.nnet.cnn).
    See: #338

  • Bug with CCORE wrapper crashing after returning value from CCORE (pyclustering.core).
    See: #337

  • Bug with calculation BIC splitting criterion for X-Means algorithm (pyclustering.cluster.xmeans).
    See: #326

  • Bug with calculation MNDL splitting criterion for X-Means algorithm (pyclustering.cluster.xmeans).
    See: #328

  • Bug with loss of CF-nodes in CF-tree during inserting that leads unbalanced CF-tree (pyclustering.container.cftree).
    See: #304

  • Bug with time stamps for each iteration in hsyncnet algorithm (ccore.cluster.hsyncnet).
    See: #306

  • Bug with memory occupation by CCORE DBSCAN implementation due to adjacency matrix usage (ccore.cluster.dbscan).
    See: #309

  • Bug with CURE: always finds max two representative points (pyclustering.cluster.cure).
    See: #310

  • Bug with infinite loop in case of incorrect number of clusters 'ordering_analyser' (pyclustering.cluster.optics).
    See: #317

  • Bug with incorrect connectivity radius for allocation specified amount of clusters 'ordering_analyser' (pyclustering.cluster.optics).
    See: #316

  • Bug with clusters are allocated in the homogeneous ordering 'ordering_analyser' (pyclustering.cluster.optics).
    See: #315