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.

Source Distribution

somvec-0.1.2.tar.gz (9.5 kB view hashes)

Uploaded Source

Built Distribution

somvec-0.1.2-py3-none-any.whl (9.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page