Graphic Interactive Tool for Data Analysis and Visualization with Self Organized Maps.
Self Organized Maps Algortihms are Unsupervised Artificial Neural Networks able to map high-dimensional relationships in data into a low-dimensional, discretized space. Inspired in neurobiology , they change their internal structure in response to stimulus. Similar paterns are located in the same regions of space(just like human brain, different functions are located on different regions of the cortex).
This is a graphic interactive tool for data analysis and visualization with self organized maps algorithms based on Dash. 3 Algorithms are avaible at this tool:
- Classic SOM (Self Organized Map): Also known as Kohonen Maps.
- GSOM(Growing Self-Organizing Map): A som that grows depending on data input.
- GHSOM(Growing Hierarchical Self-Organizing Map): A hierarchical tree structure made with GSOMs that can grow both vertical and horizontal depending on input data dristribution, showing the data relationships.
Versions are important, since different packege versions in some libraries cause some problems!
Software | Version |
---|---|
Python | 3.8.3 |
Dash | 1.19.0 |
Dash Bootstrap Components | 0.11.3 |
Python Dateutil | 2.8.1 |
Cycler | 0.10.0 |
Kiwisolver | 1.0.1 |
Pandas | 1.2.4 |
Networkx | 2.5 |
Scikit-learn | 0.24.1 |
matplotlib | 3.4.1 |
NumPy | 1.20.2 |
ProgressBar 2 | 3.37.1 |
I recommend creating first an enviroment like conda to avoid package version problems:
conda create --name som_app_env
conda activate som_app_env
And then install the dependencies:
pip install -r requirements.txt
Open a python terminal on app's directory an then run:
python tool.py
Then just go to http://localhost:8050/ on your Web Browser(You can click on direction on terminal showing after runnig previous command ) Remember to have activated your enviroment before runnign
Trained models will be under '/Trained_Models' path. It's necessary to locate there trained models so they can be loaded by the app
Potencial anomalous detected data on SOM's models can be saved as a .csv to be examined later or under other tools. This .csv files will be located on '/Anomalies_Detected' path , where it can be moved, since app wont use them directly.