Skip to main content

Python package for unsupervised and supervised self-organizing maps (SOM)

Project description

PyPi - Code Version PyPI - Python Version PyPI - License Travis.CI Status Documentation Status Codecov Codacy Badge

SUSI: SUpervised Self-organIzing maps in Python

Python package for unsupervised and supervised self-organizing maps (SOM)

Description

We present the SUSI package for Python. It includes a fully functional SOM for unsupervised and supervised tasks. The class structure is set up as follows:

  • SOMClustering: Unsupervised SOM for clustering
    • SOMEstimator: Base class for supervised SOMs
      • SOMRegressor: Regression SOM
      • SOMClassifier: Classification SOM
License:3-Clause BSD license
Author:Felix M. Riese
Citation:see Citation and in the bibtex file
Documentation:read the docs
Paper:arXiv:1903.11114

Installation

With PyPi:

pip3 install susi

Manually:

git clone https://github.com/felixriese/susi.git
cd susi/
python setup.py install

Dependencies

Python 3 with:

  • joblib
  • numpy
  • scikit-learn
  • scipy

Usage

Regression in python3:

import susi

som = susi.SOMRegressor()
som.fit(X_train, y_train)
print(som.score(X_test, y_test))

Classification in python3:

import susi

som = susi.SOMClassifier()
som.fit(X_train, y_train)
print(som.score(X_test, y_test))

Code examples as Jupyter Notebooks:

Citation

The bibtex file including both references is available here.

Paper:

Felix M. Riese and S. Keller, “SUSI: Supervised Self-Organizing Maps for Regression and Classification in Python”, arXiv:1903.11114, 2019. Submitted to an ISPRS conference.

@article{riesekeller2019susi,
    author = {Riese, Felix~M. and Keller, Sina},
    title = {SUSI: Supervised Self-Organizing Maps for Regression and Classification in Python},
    year = {2019},
    notes = {Submitted to an ISPRS conference},
        archivePrefix = {arXiv},
        eprint = {1903.11114},
        primaryClass = {cs.LG},
        url = {https://arxiv.org/abs/1903.11114}
}

Code:

Felix M. Riese, “SUSI: SUpervised Self-organIzing maps in Python”, 10.5281/zenodo.2609130, 2019.

https://zenodo.org/badge/DOI/10.5281/zenodo.2609130.svg
@misc{riese2019susicode,
    author = {Riese, Felix~M.},
    title = {{SUSI: SUpervised Self-organIzing maps in Python}},
    year = {2019},
    DOI = {10.5281/zenodo.2609130},
    publisher = {Zenodo},
    howpublished = {\href{https://doi.org/10.5281/zenodo.2609130}{doi.org/10.5281/zenodo.2609130}}
}

Change Log

[1.0.3] - 2019-04-09

  • [ADDED] Link to arXiv paper
  • [ADDED] Mexican-hat neighborhood distance weight
  • [ADDED] Possibility for different initialization modes
  • [CHANGED] Simplified initialization of estimators
  • [FIXED] URLs and styles in documentation
  • [FIXED] Colormap in Salinas example

[1.0.2] - 2019-03-27

  • [CHANGED] Moved decreasing_rate() out of SOM classes
  • [FIXED] Removed duplicate constructor for SOMRegressor, fixed fit() params
  • [ADDED] Codecov, Codacy

[1.0.1] - 2019-03-26

  • [ADDED] Config file for Travis
  • [ADDED] Requirements for read-the-docs documentation

[1.0.0] - 2019-03-26

  • Initial release

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 susi, version 1.0.3
Filename, size File type Python version Upload date Hashes
Filename, size susi-1.0.3.zip (15.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page