section_logo

SOMVis data visualization

Self-organizing map (SOM) implementation

description


I've always been fascinating by machine learning from data. I was reading about self-organizing map (SOM) and I wanted to try to implement a little program about it.

The program is based on the Kohonen maps, you create a NxM grid of neurons and trains it with a input data set. The learning process consists on find the similarities between input data and stored data from the map. After a while it will group the inputs with similar attributes together.

The program takes a CSV file as input based on numeric attributes and generate a graphical output. The workflow is quite simple as you can see in the following picture:

Data inputs come form a CSV separated by semicolon (;) where the first row is the description of the column attribute and each row is one input to the network. By default, it takes the last column as class attribute.

The following example is from the iris data set using in the video simulation:

Sepal length;Sepal width;Petal length;Petal width;Specie
5.1;3.5;1.4;0.2;0
4.9;3.0;1.4;0.2;0
4.7;3.2;1.3;0.2;0
4.6;3.1;1.5;0.2;0
...

images


The following video shows a SOM generated from the iris flower data set:

downloads


Executable (Source code will be available soon)
PDF Report (Spanish version only)

comments


Message posting is currently unavailable :(
Feel free to contact me using mail or contact form