【发布时间】:2016-12-09 11:45:46
【问题描述】:
不谈细节,我目前正在开发一个 Java 程序,该程序为 Ranking SVM 执行成对分类。
为了提供一些背景知识,我已将 CSV 文件中的内容读取到 2D 字符串数组列表,对 2D 数组列表执行了所有必要的计算,并且需要将其写回 CSV 文件。
但是,在将数据写回空白 CSV 文件之前,还有最后一步。每行的最后一个单元格包含两个值之一 - “1”或“-1”。我的目标是确保将数据写回文件,这样对于包含“1”或“-”的最后一个单元格而言,数据行数相同(或在 1 范围内) 1”,如果这有意义的话。
为了提供一些示例,这里有两个可以被写回文件的可接受结果:
[10 20 30 -1]
[12 13 14 1]
[12 13 14 -1]
[34 35 36 1]
和
[10 20 30 -1]
[12 13 14 1]
[12 13 14 -1]
[34 35 36 1]
[20 34 35 -1]
如您所见,在第一个示例中,对于每行的最后一个单元格是“1”或“-1”,行的分布是相等的,而在第二个示例中,存在分布行数,使得最后一个单元格中存在“-1”或“1”的行数之差仅相差 1。这些都是可以接受的。
所以,我想知道是否有人可以为我提供一些关于如何执行此操作的想法?我目前正在考虑的是为索引器创建一个随机数生成器,该生成器基于此随机索引连续包含行,跟踪最后一个单元格中包含“1”或“-1”的行数,仅当我的最终结果中包含一定数量的随机行以便满足我的相等/几乎相等分布的标准时停止。但是,我不太确定如何设置代码来执行此操作。
谢谢您,如果我能提供任何对您有帮助的详细信息,请告诉我。
【问题讨论】:
-
您不能将每行的最后一个索引添加到运行计数中,并且在完成所有工作之后您不能检查
-1 >= tally <= 1是否存在吗?抱歉,如果这完全没有达到目的,这个问题有点令人困惑。