susi

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

https://github.com/felixriese/susi

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 15 DOI reference(s) in README
  • Academic publication links
    Links to: mdpi.com, zenodo.org
  • Committers with academic emails
    1 of 3 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.5%) to scientific vocabulary

Keywords

data-science machine-learning opensource pypi-package python self-organizing-map semi-supervised-learning som sphinx-doc supervised-learning unsupervised-learning
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 112
  • Watchers: 4
  • Forks: 22
  • Open Issues: 0
  • Releases: 22
Topics
data-science machine-learning opensource pypi-package python self-organizing-map semi-supervised-learning som sphinx-doc supervised-learning unsupervised-learning
Created almost 7 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License Code of conduct Citation

README.rst

.. image:: https://badge.fury.io/py/susi.svg
    :target: https://pypi.org/project/susi/
    :alt: PyPi - Code Version

.. image:: https://img.shields.io/pypi/pyversions/susi.svg
    :target: https://pypi.org/project/susi/
    :alt: PyPI - Python Version

.. image:: https://readthedocs.org/projects/susi/badge/?version=latest
    :target: https://susi.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://codecov.io/gh/felixriese/susi/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/felixriese/susi
    :alt: Codecov

.. image:: https://api.codacy.com/project/badge/Grade/d304689a7364437db1ef998cf7765f5a
	:target: https://app.codacy.com/app/felixriese/susi
	:alt: Codacy Badge

.. image:: https://anaconda.org/conda-forge/susi/badges/version.svg
    :target: https://anaconda.org/conda-forge/susi
    :alt: Conda-forge

|

.. image:: https://raw.githubusercontent.com/felixriese/susi/master/docs/_static/susi_logo_small.png
    :target: https://github.com/felixriese/susi
    :align: right
    :alt: 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
~~~

.. code:: bash

    pip3 install susi
    
.. image:: https://static.pepy.tech/personalized-badge/susi?period=total&units=international_system&left_color=black&right_color=blue&left_text=Downloads
	:target: https://pepy.tech/project/susi
	:alt: PyPi Downloads

Conda
~~~~~

.. code:: bash

    conda install -c conda-forge susi

More information can be found in the `installation guidelines `_.

.. image:: https://img.shields.io/conda/dn/conda-forge/susi.svg
	:target: https://anaconda.org/conda-forge/susi
	:alt: Conda-Forge Downloads

Examples
--------

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 `_

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
`_

.. code:: bibtex

    @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
`_

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.2609130.svg
   :target: https://doi.org/10.5281/zenodo.2609130

.. code:: bibtex

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

.. image:: https://img.shields.io/pypi/l/susi.svg
    :target: https://github.com/felixriese/susi/blob/main/LICENSE
    :alt: PyPI - License

Owner

  • Name: Dr. Felix Riese
  • Login: felixriese
  • Kind: user
  • Location: Munich, Germany
  • Company: @Peter-Park-Systems-GmbH

Ph.D. & MBA | Head of Product | Physicist with 9+ Years in Data Science and Machine Learning | First-Principles Thinking

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite both the article from preferred-citation and the software itself."
authors:
  - family-names: Riese
    given-names: Felix M.
    orcid: https://orcid.org/0000-0003-0596-9585
title: "SuSi: SUpervised Self-organIzing maps in Python"
version: 1.4.3
doi: "10.5281/zenodo.2609130"
date-released: 2021-12-11
repository-code: https://github.com/felixriese/susi
license: BSD-3-Clause
preferred-citation:
  authors:
    - family-names: Riese
      given-names: Felix M.
    - family-names: Hinz
      given-names: Stefan
    - family-names: Keller
      given-names: Sina
  title: "Supervised and Semi-Supervised Self-Organizing Maps for Regression and Classification Focusing on Hyperspectral Data"
  type: article
  year: 2020
  doi: "10.3390/rs12010007"
  journal: "Remote Sensing"
  number: 7
  volume: 12
  issue: 1
  url: https://www.mdpi.com/2072-4292/12/1/7

GitHub Events

Total
  • Create event: 5
  • Issues event: 2
  • Release event: 1
  • Watch event: 9
  • Delete event: 4
  • Issue comment event: 1
  • Push event: 11
  • Pull request event: 9
Last Year
  • Create event: 5
  • Issues event: 2
  • Release event: 1
  • Watch event: 9
  • Delete event: 4
  • Issue comment event: 1
  • Push event: 11
  • Pull request event: 9

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 192
  • Total Committers: 3
  • Avg Commits per committer: 64.0
  • Development Distribution Score (DDS): 0.516
Past Year
  • Commits: 32
  • Committers: 1
  • Avg Commits per committer: 32.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Felix Riese f****e@k****u 93
Felix M. Riese m****l@f****e 90
Felix Riese r****e@o****m 9
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 14
  • Total pull requests: 51
  • Average time to close issues: 12 days
  • Average time to close pull requests: about 16 hours
  • Total issue authors: 13
  • Total pull request authors: 5
  • Average comments per issue: 3.14
  • Average comments per pull request: 0.41
  • Merged pull requests: 43
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 2
  • Pull requests: 10
  • Average time to close issues: 3 days
  • Average time to close pull requests: 20 minutes
  • Issue authors: 2
  • Pull request authors: 2
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • thunderbug1 (2)
  • akol67 (1)
  • hsynan (1)
  • jalalnouri72 (1)
  • aspassiani (1)
  • bennydayana (1)
  • nfsrules (1)
  • thongjlj (1)
  • bramiozo (1)
  • JimmyGao0204 (1)
  • travel0104 (1)
  • Russjas (1)
  • deepwindlee (1)
Pull Request Authors
  • felixriese (46)
  • dependabot[bot] (2)
  • codacy-badger (1)
  • Hampuztt (1)
  • robinsonkwame (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
dependencies (2) python (2) wontfix (1)

Dependencies

requirements.txt pypi
  • black >=21.9b0
  • codecov >=2.1.10
  • coverage >=5.3
  • joblib >=0.13.0
  • matplotlib >=3.3.0
  • nbval >=0.9.5
  • notebook >=6.0.0
  • numpy >=1.18.5
  • numpydoc >=1.2.1
  • pandas >=1.1.5
  • pytest >=6.0.1
  • pytest-cov >=2.10.1
  • scikit-learn >=0.21.1
  • scipy >=1.3.1
  • seaborn >=0.11.0
  • sphinx >=4.5.0
  • sphinx-autobuild >=0.7.1
  • sphinx_rtd_theme >=1.0.0
  • tqdm >=4.45.0
setup.py pypi
  • joblib *
  • matplotlib *
  • numpy *
  • scikit-learn *
  • scipy *
  • tqdm *
.github/workflows/tests_and_linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v1 composite
.github/workflows/update_guide.yml actions
  • actions/checkout v3 composite
  • jenkey2011/vuepress-deploy master composite
guide/package.json npm
  • vuepress ^1.9.7 development
dev-requirements.txt pypi
  • mypy ==1.9.0 development
  • pre-commit ==3.6.2 development
docs/requirements.txt pypi
  • numpydoc ==1.6.0
  • sphinx ==7.2.6
  • sphinx-autobuild >=2024.2.4
  • sphinx_rtd_theme ==2.0.0
pyproject.toml pypi
test-requirements.txt pypi
  • black ==24.3.0 test
  • codecov >=2.1.13 test
  • coverage >=7.4.4 test
  • flake8 ==7.0.0 test
  • isort ==5.13.2 test
  • nbval >=0.11.0 test
  • pytest >=8.1.1 test
  • pytest-cov >=4.1.0 test
  • pytest_mock ==3.14.0 test