Skip to main content

A lightweight Python library for Kohonen Self-Organising Maps

Project description

SimpSOM (Simple Self-Organizing Maps)
=====================================

Version 1.2.0
------------

SimpSOM is a lightweight implementation of Kohonen Self-Organising Maps (SOM) for Python 2.7,
useful for unsupervised learning, clustering and dimensionality reduction.

The package is now available on PyPI, to retrieve it just type ``pip install SimpSOM`` or download it from here
and install with ``python setup.py install``.

It allows to build and train SOM on your dataset, save/load the trained network weights, and display or print graphs
of the network with selected features.
The function ``run_colorsExample()`` will run a toy model, where a number of colors will be mapped from the 3D
RGB space to the 2D network map and clustered according to their similarity in the origin space.

Dependencies
------------

- Numpy 1.11.0 (older versions may work);
- Matplotlib 1.5.1 (older versions may work);
- Sklearn 0.15 (older versions may work), optional, needed only for clustering with algorithms other than Quality Threshold.

Example of Usage
----------------

Here is a quick example on how to use the library with a ``raw_data`` dataset::

#Import the library
import SimpSOM as sps

#Build a network 20x20 with a weights format taken from the raw_data.
net = sps.somNet(20, 20, raw_data)

#Train the network for 10000 epochs and with initial learning rate of 0.1.
net.train(10000, 0.01)

#Save the weights to file
net.save('filename_weights')

#Print a map of the network nodes and colour them according to the first feature (column number 0) of the dataset
#and then according to the distance between each node and its neighbours.
net.nodes_graph(colnum=0)
net.diff_graph()

#Project the datapoints on the new 2D network map.
net.project(raw_data, labels=labels)

#Cluster the datapoints according to the Mean Shift algorithm from sklearn.
net.cluster(raw_data, type='MeanShift')

What's New
------------------------

- Density-Peak Clustering is now available under the ``dpeak`` command.

TO DOs:
-------

- Improve efficiency of Density-Peak Clustering
- Update the available cluster algorithms from sklearn;
- Test for Python 3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for simpsom, version 1.2.0
Filename, size File type Python version Upload date Hashes
Filename, size SimpSOM-1.2.0.tar.gz (12.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page