Skip to main content

A vectorised implementation of the Self-Organising Map (SOM) algorithm

Project description

This is a vectorised python implementation of the Self-Organising Map (SOM) algorithm. It was created for use in the author’s master dissertation and has now been released for anyone who might want to benefit from it. Please inform me of any additional functionality that might be desired.

## Features: ##

  • Fits and plots features, Best Matching Unit (BMU) counts and training curves for SOM
  • Quantisation or topological error based stopping criteria
  • Hypercube or random uniform weight initialisation
  • Periodic Boundary Conditions (PBC) allowing the SOM to wrap like a torous
  • Semi-Supervised training mode whereby the labels for a supervised learning problem are used to update the weights of the SOM but not to find the BMU
  • Clusters SOM nodes using K-Means clustering and plots cluster maps
  • Models, clusters and images are automatically saved (this is configurable)
  • Quantisation and topological errors are automatically logged to a csv file for each run of the model (with parameter values saved for reproducibility)
  • Has been used to fit data for a masters dissertation on a dataset with an excess of 1 million records

BitBucket repo: https://bitbucket.org/GeoffreyClark/somvec

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 somvec, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size somvec-0.1.2-py3-none-any.whl (9.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size somvec-0.1.2.tar.gz (9.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page