www.ilpiola.it Roberto Piola Work Freebies     Versione Italiana | jsammonWhat is it?jsammon implements Sammon's algorithm [1] for displaying in 2D a set of N-dimensional points.The representation is built in interations, where every iteration moves the 2D projections in order to minimize the error between the apparent distances and the real distances.
PrerequisitesYou need the version 1.1.6 of the java compiler and interpreter, and the l2f package installed.
UsageAfter compiling the various classes, you can run the application:java jsammon dataseta window will appear with the projection of the dataset allong the two dimensions with the greater normalized variance. Each point assumes a color corrsponding to its class; by moving the pointer near to a 2D point, you'll be able to see, in the text area below the graphic display, the real N-D coordinates of that point. TheUp, Down, Left, Right, Zoom In and Zoom Out buttons allow navigation in the 2D space; Autoscale rescales the drawing so that all points are displayed. With the "Iterate" button, Sammon's algorithm is started for the number of iterations set in the text field below the button. Sammon's "Magic Factor is fixed at 0.3.
File formatThe dataset is a simple text file, one row for each point, where each row is a list of real coordinates and of an integer representing the class, separated by spaces.Some example datasets are supplied: helix.data and iris.data are two datasets used in Sammon's article, while vehicle.data is a subset of the dataset for a real-world problem.
Usage and distributionSince this program has been developed for the University, its usage and distribution are complletely free.
AcknowledgementsMy thanks to Sergio Caggese who write a large part of the "core" functions.
References[1] J.W. Sammon "A nonlinear mapping for data structure analisys", IEEE Transactions on computers, vol.C-18, May 1969
Downloadjsammon.zip 15 KB
  |