RP Italian
 
www.ilpiola.it
Roberto Piola
Lavoro
Software gratis
  • Algoritmo di Sammon

  •  
     

    English version

     

    jsammon


    Cos'è

    jsammon implementa l'algoritmo di Sammon [1] per la visualizzazione in 2D di punti in spazi N-dimensionali.

    L'algoritmo procedere per iterazioni, ad ogni passo riducendo la differenza tra le distanze apparenti (in 2D) e quelle reali tra punto e punto in N D.

    Prerequisiti

    jsammon necessita del compilatore java 1.1.6 e del package l2f.

    Uso

    Dopo aver compilato le varie classi, basta lanciare
    java jsammon dataset
    
    apparirà la finestra con la proiezione del dataset lungo le due dimensioni a maggior varianza (N.B.: la varianza viene calcolata dopo una normalizzazione dei dati).

    Ogni punto assume un colore corrispondente alla sua classe di appartenenza; spostando il puntatore vicino ad un punto se ne ottiene, nella riga in basso, la rappresentazione completa.

    I pulsanti Up, Down, Left, Right, Zoom In e Zoom Out permettono di navigare nella rappresentazione 2D; Autoscale riporta il sistema nelle condizioni di visualizzare tutti i punti nel canvas.

    Premendo il pulsante "Iterate" vengono compiute tante iterazioni dell'algoritmo di Sammon quanto è indicato nella casella "times" immediatamente sotto al pulsante.

    Il "Magic Factor di Sammon (MF) è fisso a 0.3.

    Formato del file di dati

    Il file di dati è un semplice file di testo, con un record per riga; ogni record è composto da un certo numero di coordinate, separate da spazi, e da un intero, in ultima colonna, che identifica la classe (colore) del punto.

    Insieme al programma sono forniti alcuni dataset di esempio. helix.data e iris.data sono gli stessi dataset utilizzati nell'articolo di Sammon, mentre vehicle.data è un sottoinsieme di un dataset di un'applicaizone reale.

    Uso e distribuzione

    Essendo stato realizzato in ambito accademico, il suo uso e distribuzione sono assolutamente liberi.

    Ringraziamenti

    Ringraziamenti a Sergio Caggese che ha steso buona parte del codice "core".

    Riferimenti

    [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