June 22 2007

Co-clustering - Real World Dataset Test #1

Macchina usata:
PowerPC G4, 1.5GHz, 768MB RAM, Mac OS X

Software usato:

  • H. Cho, Y. Guan, and S. Sra, Co-cluster (v 1.1), 2004.
    @misc{coclus-software,
      author = {Hyuk Cho and Yuqiang Guan and Suvrit Sra},
      Date-Added = {2007-04-29 15:15:55 +0200},
      Date-Modified = {2007-06-25 17:10:33 +0200},
      Howpublished = {Bregman co-clustering software},
      Keywords = {co-clustering, relative entropy, euclidean distance, software},
      Title = {Co-cluster (v 1.1)},
      Url = {http://www.cs.utexas.edu/users/dml/Software/cocluster.html},
      Year = {2004},
      Bdsk-Url-1 = {http://www.cs.utexas.edu/users/dml/Software/cocluster.html}
    }

Dataset usato:
Iris Plant Database
From Fisher, 1936
3 classes, 4 numeric attributes, 150 instances
1 class is linearly separable from the other 2, but the other 2 are not linearly separable from each other

Algoritmo di co-clustering usato: Euclidean Distance Based.

Prova #1:
Richiesti 3 cluster di riga (sulle righe abbiamo gli oggeti, sulle colonne gli attributi) e 1 solo cluster di colonna. In tal modo non viene effettuato alcun feature clustering (che ricordiamo è contestuale al data clustering).

Tempo impiegato: User = 0 second(s) 9193 ms, System = 0 second(s) 2709 ms, Time/Run = 0.009193 second(s)

Risultato: Co-Cluster 1: 54 elementi di riga, Co-Cluster 2: 40 elementi di riga, Co-Cluster 3: 56 elementi di riga. Avendo specificato 1 solo cluster per le colonne, tutti i co-cluster hanno gli stessi elementi di colonna.

Conclusioni: L’algoritmo è riuscito a separare i cluster sovrapposti (classi 2 e 3 del dataset), ma ha commesso svariati errori di classificazioni. Al cluster 2 mancano 10 elementi, 4 dei quali sono nel primo cluster e i restanti 6 nel terzo cluster.

Prova #2:
Richiesti 3 cluster di riga e 2 cluster di colonna.

Tempo impiegato: User = 0 second(s) 8397 ms, System = 0 second(s) 3042 ms, Time/Run = 0.008397 second(s)

Risultato: Le tre classi sono state perfettamente separate. Nello specifico, sono stati prodotti 6 co-cluster, poiché, detto C il numero di cluster di colonna, e R il numero di cluster di riga, si ottengono sempre C*R co-cluster. Per ogni cluster di riga chiesto, si ottengono in pratica C co-cluster.

Conclusioni: Separare 2 cluster (classi 2 e 3 del dataset in esame) non linearmente separabili è notevole per un algoritmo non kernel-based.

Post a comment

This blog is multi language by p.osting.it's Babel