RP English
 
www.ilpiola.it
Roberto Piola
Work
Freebies
  • Sammon's algorithm

  •  
     

    Versione Italiana

     

    jsammon


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

    Prerequisites

    You need the version 1.1.6 of the java compiler and interpreter, and the l2f package installed.

    Usage

    After compiling the various classes, you can run the application:
    java jsammon dataset
    
    a 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 format

    The 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 distribution

    Since this program has been developed for the University, its usage and distribution are complletely free.

    Acknowledgements

    My 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

    Download

    jsammon.zip 15 KB