Python package for unsupervised, supervised and semi-supervised self-organizing maps (SOM)
Project description
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. The class structure is set up as follows:
SOMClustering: Unsupervised SOM for clustering
SOMEstimator: Base class for supervised and semi-supervised SOMs
SOMRegressor: Regression SOM
SOMClassifier: Classification SOM
- License:
- Author:
- Citation:
- Documentation:
- Installation:
- Paper:
Installation
pip install susi
More information can be found in the installation guidelines.
Examples
A collection of code examples can be found in the documentation. Code examples as Jupyter Notebooks can be found here:
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},
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.7] - 2019-11-28
[ADDED] Optional tqdm visualization of the SOM training
[ADDED] New init_mode_supervised called random_minmax.
[CHANGED] Official name of package changes from SUSI to SuSi.
[CHANGED] Docstrings for functions are now according to guidelines.
[FIXED] Semi-supervised classification handling, sample weights
[FIXED] Supervised classification SOM initalization of n_iter_supervised
[FIXED] Code refactored according to prospector
[FIXED] Resolved bug in get_datapoints_from_node() for unsupervised SOM.
[1.0.6] - 2019-09-11
[ADDED] Semi-supervised abilities for classifier and regressor
[ADDED] Example notebooks for semi-supervised applications
[ADDED] Tests for example notebooks
[CHANGED] Requirements for the SuSi package
[REMOVED] Support for Python 3.4
[FIXED] Code looks better in documentation with sphinx.ext.napoleon
[1.0.5] - 2019-04-23
[ADDED] PCA initialization of the SOM weights with 2 principal components
[ADDED] Variable variance
[CHANGED] Moved installation guidelines and examples to documentation
[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
[ADDED] Codecov, Codacy
[CHANGED] Moved decreasing_rate() out of SOM classes
[FIXED] Removed duplicate constructor for SOMRegressor, fixed fit() params
[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.