我尝试通过从另一个数据集中获取间隔来创建新数据集,例如,将dataset1视为输入,将dataset2视为输出:
dataset1 = [1, 2, 3, 4, 5, 6]
dataset2 = [1, 2, 2, 3, 3, 4, 4, 5, 5, 6]
我设法使用数组,但对于mlib,需要一个数据集。
我的代码与数组:
def generateSeries(values: Array[Double], n: Int): Seq[Array[Float]] = {
var res: Array[Array[Float]] = new Array[Array[Float]](m)
for(i <- 0 to m-n){
res :+ values(i to i + n)
}
return res
}
FlatMap似乎是要走的路,但是函数如何搜索数据集中的下一个值?
答案 0 :(得分:0)
这里的问题是数组与DataSet没有任何相似之处。 DataSet是无序的,没有索引,因此根据数组进行思考不会对您有所帮助。去寻找Seq并且不使用索引和位置来对待它。
因此,要在DataSet上表示类似数组的行为,您需要创建自己的索引。这可以通过将值与&#34;抽象数组&#34;中的位置配对来完成。我们代表。
因此,DataSet的类型将类似于[(Int,Int)]
,其中第一个是索引,第二个是值。它们将无序到达,因此您需要以更加功能的方式重新编写逻辑。它并不是很清楚你想要实现的目标,但我希望我能给你一个暗示。否则,在我的答案评论中更好地解释预期结果,我将进行编辑。