Model explainability and high dimensional visualisation library for Python based on Self-Organising-Maps
Somnium is a library intended for providing a easy and powerful way of exploring multi-dimensional data sets. It uses the Self-Organising Map algorithm (aka Kohonen map).
A Self-Organising Map (SOM hereafter), is a biologically inspired algorithm meant for exploring multi-dimensional non-linear relations between variables. SOM was proposed in 1984 by Teuvo Kohonen, a Finnish academician. It is based in the process of task clustering that occurs in our brain and it is considered a type of neural network. It compresses the information of high-dimensional data into geometric relationships onto a low-dimensional representation.
Here are just a few of the applications of SOM algorithm.
Somnium requires:
For now, the only supported installation method is through setuptools
:
git clone https://github.com/ivallesp/somnium
cd somnium
python setup.py install
The API is currently being developed, which means that it is going to change from time to time. However the master
branch of this repository will always be fully functional. In the future, I plan to write some docs about the library, but for now you can find at least one example of usage in the examples
folder.
jupyter notebooks
. If you run it from a python or ipython console the figures will not look well.mapsize=[10, 15]
) are not shown correctly.All contributions are welcome and appreciated. I don’t have time to finish it soon so, please, feel free to open an issue to either propose some contribution or discuss potential new functionalities. All the contributions should be made through a pull request.
This library has been built using SOMPY library as a starting point, and that is why you may find some similarities in the code.
This library has been licensed under MIT agreement. Please refer to the LICENSE
file on the root of this repository. Copyright (c) 2019 Iván Vallés Pérez