/PySOMVis

The Python version of SOMToolbox

Primary LanguagePythonApache License 2.0Apache-2.0

PySOMVis framework

PySOMVis framework involves popular Self-Organizing Maps visualization techniques, which is inspired by Java based SOMToolbox (http://www.ifs.tuwien.ac.at/dm/somtoolbox/index.html)

Installation

Installation via commandline using pip: Installation can be performed by first cloning this repository and then navigating to the PySOMVis folder. Inside the folder, one then has to type:

pip install .

Import

After installation one can import it iby the following command:

import pysomvis

To get the ''main-class'':

from pysomvis import PySOMVis

OR

from pysomvis import *

Current visualizations

Pictures bellow are based on the projected Chain Link Data set (http://ifs.tuwien.ac.at/dm/somtoolbox/datasets.html). It is synthetic data representing two intertwined rings, which presents the topology violations after projection.
The SOM map represents 18x12 neurons trained 10000 times with learning rate 0.7 and sigma 7 in SOMToolbox.


Activity Histogram

Cluster Connection

Component Plane

D-Matrix

Topology Error

U-Matrix

Graph based

Hit Histogram

Metro Map

Minimum Spanning Tree

U*-Matrix

Pie Chart

Quantization Error

Smoothed Data Histogram

Sky Metaphor

Chessboard

K-means (2 clusters)

average, complete, single, WARD

SOMStreamVis approach

SOMStreamVis approach helps to explore dynamic pattern with trained map. The example represents weather forecast, it includes 5 features of different temperature, pressure and wind speed values over 35 years (taken from the https://power.larc.nasa.gov/data-access-viewer/).
The features are following:

  • RH2M - Relative Humidity at 2 Meters (%)
  • PS - Surface Pressure (kPa)
  • T2M - Temperature at 2 Meters (C)
  • WS50M - Wind Speed at 50 Meters (m/s)
  • ALLSKY_SFC8_LW_DWN - Downward Thermal Infrared (Longwave) Radiative Flux (kW-hr/m^2/day)
Dynamic exploration with SOMStreamVis:


SOMStreamVis interface with trajectory-based approach

Projection of 3 years (coloring is based on WARD clusterisation)

Projection of 35 years (coloring is based on WARD clusterisation)

Citation

1. Sergei Mnishko and Andreas Rauber. Som visualization framework in python, including somstreamvis, a time series visualization. In Jan Faigl, Madalina Olteanu, and Jan Drchal, editors, Advances in Self-Organizing Maps, Learning Vector Quantization, Clustering and Data Visualization, pages 98–107, Cham, 2022. Springer International Publishing. DOI: https://doi.org/10.1007/978-3-031-15444-7_10