Python package for unsupervised, supervised and semi-supervised self-organizing maps (SOM)
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 |
pip3 install susi
conda install -c conda-forge susi
More information can be found in the installation guidelines.
A collection of code examples can be found in the documentation. Code examples as Jupyter Notebooks can be found here:
- examples/SOMClustering
- examples/SOMRegressor
- examples/SOMRegressor_semisupervised
- examples/SOMRegressor_multioutput
- examples/SOMClassifier
- examples/SOMClassifier_semisupervised
- 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.
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}}
}
This project is published under the 3-Clause BSD license.