2010-01-12 24 views
0

Dans WEKA, un logiciel d'exploration de données pour les données MICROARRAY, comment puis-je supprimer les tuples redondants de l'ensemble de données existant? Le code pour supprimer la redondance devrait être en Java.comment puis-je supprimer les tuples redondants dans les données de microarray en utilisant la programmation java?

i.e., l'ensemble de données contient des données telles que

H,A,X,1,3,1,1,1,1,1,0,0,0 
D,R,O,1,3,1,1,2,1,1,0,0,0 
H,A,X,1,3,1,1,1,1,1,0,0,0 
C,S,O,1,3,1,1,2,1,1,0,0,0 
H,A,X,1,3,1,1,1,1,1,0,0,0 

ici les tuples 1,4,5 sont redondants.

Le code doit retourner l'ensemble de données removed REDONDANCE suivantes ...

H,A,X,1,3,1,1,1,1,1,0,0,0 
D,R,O,1,3,1,1,2,1,1,0,0,0 
C,S,O,1,3,1,1,2,1,1,0,0,0 

Répondre

2

Vous pouvez utiliser l'une des classes qui implémente l'Set tels que java.util.HashSet.

Vous pouvez charger votre ensemble de données dans l'ensemble, puis les extraire soit en convertissant en tableau via la méthode Set.toArray(), soit en itérant sur l'ensemble.

Set<Tuple> tupleSet = new HashSet<Tuple>();

  
for (Tuple tuple: tupleList) {  
    tupleSet.add(tuple);  
} 

// now all of your tuples are unique 
for (Tuple tuple: tupleSet) {  
    System.out.println("tuple: " + tuple); 
} 
+3

en plus vous à votre suggestion doit également mettre en œuvre les méthodes equals et hashCode de Tuple. sinon, le calcul de la redondance sera basé uniquement sur la référence de l'objet Tuple – LiorH