Skip to content

dashaub/kohonen4j

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

kohonen4j

Self-Organizing Maps in Java

For a more detailed description of self-organizing maps and the program design of kohonen4j, consider reading the vignette.

alt text

The kohonen4j fits a self-organizing map, a type of artificial neural network, to an input csv data file. The input csv must be rectangular and nonjagged with only numeric values. As output, the program plots a heatmap that displays a 2D representation of the data. Observations are maped to their closest nodes, and the output plot displays the most frequently mapped nodes in the brightest shade, while nodes that are not maped to any observations are black. alt text

For training and plotting to succeed, the data must have at least two observations, at least two columns, and no more columns than rows. Furthermore, the dimensions for the training grid and epochs must be positive integers. Training on large grids or datasets and with a large number of epochs can be quite slow.

Building and running

Stable release can be downloaded here. The current development version can be obtained by cloning the repo.

Building from source requires OpenJDK >= 1.7. To install this on Debian/Ubuntu flavors,

sudo apt-get install openjdk-7-jdk

To compile the byte code, run

javac Kohonen.java

Run as the program as usual

java Kohonen

License

(c) 2016 David Shaub

kohonen4j is free software, released under the terms of the GPL-3 license.