【问题标题】:how do i remove redundant tuples in microarray data using java programming?如何使用 java 编程删除微阵列数据中的冗余元组?
【发布时间】:2010-01-12 04:39:03
【问题描述】:

在 WEKA-微阵列数据的数据挖掘软件中,如何从现有数据集中删除冗余元组?去除冗余的代码应该在 JAVA 中。

即数据集包含诸如

之类的数据
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

这里的元组 1,4,5 是多余的。

代码应返回以下 REDUNDANCY REMOVED 数据集...

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

【问题讨论】:

    标签: java weka redundancy


    【解决方案1】:

    您可以使用实现Set 的类之一,例如java.util.HashSet

    您可以将数据集加载到 Set 中,然后通过 Set.toArray() 方法转换为数组或遍历集合来提取它们。

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

    对于(元组元组:tupleList){ tupleSet.add(tuple); } // 现在你所有的元组都是唯一的 对于(元组元组:tupleSet){ System.out.println("元组:" + 元组); }

    【讨论】:

    • 除了您的建议外,您还必须实现 Tuple 的 equals 和 hashCode 方法。否则冗余计算将仅基于 Tuple 对象引用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多