Python package for unsupervised and supervised self-organizing maps (SOM)
Project description
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:
- Author:
- Citation:
- Documentation:
- Paper:
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
and 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.
@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.4] - 2019-04-21
[ADDED] Batch algorithm for unsupervised and supervised SOM
[ADDED] Calculation of the unified distance matrix (u-matrix)
[FIXED] Added estimator_check of scikit-learn and fixed recognized issues
[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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.