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
- Author
- Citation
- Documentation
- Installation
- Paper
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
This project is published under the 3-Clause BSD license.