Skip to content

adriwitek/som_analytic_tool

 
 

Repository files navigation

SOM Analytic Tool

Graphic Interactive Tool for Data Analysis and Visualization with Self Organized Maps.

Introduction

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

About the Tool

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.

alt text

Requeriments

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

Installation

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 

Run

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

Some Functionalities Included...

Save/Load Trained Models

Trained models will be under '/Trained_Models' path. It's necessary to locate there trained models so they can be loaded by the app alt text

Anomaly Detector

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.

alt text

Some App Screenshots...

Error Progress

alt text

SOM Multi-Train

alt text

Component Plans Minimum Hit Filter

alt text

Auto Hyperparameters Tuning

Searching optimus Hyperparameters: alt text

Search Result: alt text

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.8%
  • Makefile 1.4%
  • Batchfile 1.3%
  • TeX 0.5%