Skip to content

SuSi: Python package for unsupervised, supervised and semi-supervised self-organizing maps (SOM)

License

Notifications You must be signed in to change notification settings

felixriese/susi

PyPi - Code Version PyPI - Python Version Documentation Status Codecov Codacy Badge Conda-forge

SuSi logo

SuSi: Supervised Self-organizing maps in Python

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

Description

We present the SuSi package for Python. It includes a fully functional SOM for unsupervised, supervised and semi-supervised tasks:

  • SOMClustering: Unsupervised SOM for clustering
  • SOMRegressor: (Semi-)Supervised Regression SOM
  • SOMClassifier: (Semi-)Supervised Classification SOM
License:3-Clause BSD license
Author:Felix M. Riese
Citation:see Citation and in the bibtex file
Documentation:Documentation
Installation:Installation guidelines
Paper:F. M. Riese, S. Keller and S. Hinz in Remote Sensing, 2020

Installation

Pip

pip3 install susi
PyPi Downloads

Conda

conda install -c conda-forge susi

More information can be found in the installation guidelines.

Conda-Forge Downloads

Examples

A collection of code examples can be found in the documentation. Code examples as Jupyter Notebooks can be found here:

FAQs

  • How should I set the initial hyperparameters of a SOM? For more details on the hyperparameters, see in documentation/hyperparameters.
  • How can I optimize the hyperparameters? The SuSi hyperparameters can be optimized, for example, with scikit-learn.model_selection.GridSearchCV, since the SuSi package is developed according to several scikit-learn guidelines.

Citation

The bibtex file including both references is available in bibliography.bib.

Paper:

F. M. Riese, S. Keller and S. Hinz, "Supervised and Semi-Supervised Self-Organizing Maps for Regression and Classification Focusing on Hyperspectral Data", Remote Sensing, vol. 12, no. 1, 2020. DOI:10.3390/rs12010007

@article{riese2020supervised,
    author = {Riese, Felix~M. and Keller, Sina and Hinz, Stefan},
    title = {{Supervised and Semi-Supervised Self-Organizing Maps for
              Regression and Classification Focusing on Hyperspectral Data}},
    journal = {Remote Sensing},
    year = {2020},
    volume = {12},
    number = {1},
    article-number = {7},
    URL = {https://www.mdpi.com/2072-4292/12/1/7},
    ISSN = {2072-4292},
    DOI = {10.3390/rs12010007}
}

Code:

Felix M. Riese, "SuSi: SUpervised Self-organIzing maps in Python", Zenodo, 2019. DOI:10.5281/zenodo.2609130

@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}}
}

License

This project is published under the 3-Clause BSD license.

PyPI - License