Metadata-Version: 2.1
Name: lightSOM
Version: 1.2.1
Summary: Self Organizing Maps Package
Home-page: UNKNOWN
Author: Vahid Moosavi and Sebastian Packmann
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: numpy (>=1.7)
Requires-Dist: scipy (>=0.9)
Requires-Dist: scikit-learn (>=0.21)
Requires-Dist: numexpr (>=2.5)

lightSOM
-----
A Python Library for Self Organizing Map (SOM)

As much as possible, the structure of SOM is similar to `somtoolbox` in Matlab. It has the following functionalities:

1. Only Batch training, which is faster than online training. It has parallel processing option similar to `sklearn` format and it speeds up the training procedure, but it depends on the data size and mainly the size of the SOM grid.I couldn't manage the memory problem and therefore, I recommend single core processing at the moment. But nevertheless, the implementation of the algorithm is carefully done for all those important matrix calculations, such as `scipy` sparse matrix and `numexpr` for calculation of Euclidean distance.
2. PCA (or RandomPCA (default)) initialization, using `sklearn` or random initialization.
3. component plane visualization (different modes).
4. Hitmap.
5. U-Matrix visualization.
6. 1-d or 2-d SOM with only rectangular, planar grid. (works well in comparison with hexagonal shape, when I was checking in Matlab with somtoolbox).
7. Different methods for function approximation and predictions (mostly using Sklearn).


### Dependencies:
SOMPY has the following dependencies:
- numpy
- scipy
- scikit-learn
- numexpr
- matplotlib
- pandas
- ipdb

### Installation:
```Python
pip install lightSOM
```


Many thanks to @sebastiandev, the library is now standardized in a pythonic tradition. Below you can see some basic examples, showing how to use the library.
But I recommend you to go through the codes. There are several functionalities already implemented, but not documented. I would be very happy to add your new examples here.

[Basic Example](https://github.com/mbenhaddou/lightSOM/blob/main/sompy/examples/AirFlights_hexagonal_grid.ipynb)

### Citation

This library is a copy of the SOMPY library form [sevamo](https://github.com/sevamoo/SOMPY). However if possible, please cite the library as follows.
I needed this linrary to be added tp pypi. I will also improve on it while working with it.

```
@misc{moosavi2014sompy,
  title={SOMPY: A Python Library for Self Organizing Map (SOM)},
  author={Moosavi, V and Packmann, S and Vall{\'e}s, I},
  note={GitHub.[Online]. Available: https://github. com/sevamoo/SOMPY},
  year={2014}
}
```


For more information, you can contact me via sevamoo@gmail.com or svm@arch.ethz.ch, but please report an issue first.



