Skip to main content

A lightweight Python library for Self Organising Maps

Project description

Version 1.1.1

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

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

  • Clustering is now possible with the cluster command, Quality Threshold and a few sklearn clustering algorithms are availabe;
  • It is now possible to install SimpSOM through python setup.py install.

TO DOs:

  • Update the available cluster algorithms from sklearn;
  • Add compatibility with cvs format.
  • Add documentation

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.1.1
Filename, size File type Python version Upload date Hashes
Filename, size SimpSOM-1.1.1.tar.gz (7.6 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