創建

0

我試圖從另一個數據集以間隔來創建一個新的數據集其他數據集的部分星火數據集,例如,考慮數據集1作爲輸入,並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

你可以發佈給定數據集的預期輸出嗎? – BDR

+0

@BDR感謝您的回答,給出了問題描述中的數據集1我想獲取數據集2 –

+0

您的意思是說您的數據集1是您的輸入,預期輸出是數據集2?它做對了嗎? – BDR

回答

0

這裏的問題是一個數組與DataSet沒有任何相似之處。 DataSet是無序的,沒有索引,所以從數組的角度來看並不會對你有所幫助。去找一個Seq,並根本不使用索引和位置。

因此,爲了表示數據集上類似數組的行爲,您需要創建自己的索引。這只是通過將值與我們所代表的「抽象數組」中的位置進行配對來完成的。

因此,您的DataSet的類型將類似[(Int,Int)],其中第一個是索引,第二個是值。它們將無序地到達,所以您將需要以更實用的方式重新修改您的邏輯。你想要達到什麼目標並不是很清楚,但我希望我給你一個提示。否則請更好地解釋評論中對我的答案的預期結果,我將編輯。

+0

感謝您的回答,並對錯誤的解釋感到抱歉。我嘗試實現的是使用原始數據集的每n個大小的間隔製作的數據集。 –