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.
