回答
我認爲你分裂時混淆了實際的數據混洗與隨機種子。如果你將你的分裂種子設置爲一個常量,讓我們說每個例子11L,你總是會得到相同的分割。
正如@ zero323所述,Mllib通過遍歷每個分區只需要一個隨機樣本。
有沒有一種方法可以在拆分數據之前對數據進行洗牌?
這取決於上下文。你總是可以通過隨機值重新分區或重新排序,但它是
- 昂貴
- 需要一些努力,以避免緩存,如果你想每次
- 它很難,如果你需要得到重複的樣品來獲得不同的結果一。
因此,我的方法是迭代和產生分裂的種子。這是交叉驗證的主要原則。這樣你就可以根據你正在執行的評估步驟獲得最好的種子。你有可重現的樣本,但這種方法相當昂貴。
我希望這會有所幫助。
如果我在處理源數據時按標籤排序,即源數據的所有標籤都是1,然後是全0。如果我正確理解randomSplit的工作方式,所有的0將最終在測試集中。此外,訓練算法可能主要看到1個標籤。那是對的嗎? –
我認爲你可能需要的是以下內容:http://stackoverflow.com/questions/32238727/scala-pick-proportion-from-each-user/32241887#32241887 – eliasah
- 1. Spark MLlib IDF洗牌數據?
- 2. 瞭解Spark洗牌溢出
- 3. Apache Spark MLlib - 從數據獲取LabeledPoint(Java)
- 4. java apache spark mllib
- 5. Spark MLLIB問題
- 6. 洗牌DevExpress GridControl數據源
- 7. 算法洗牌數據
- 8. Spark mllib ALS建議
- 9. 結合Spark Streaming + MLlib
- 10. 火花洗牌
- 11. Spark MLlib和Spark ML中的PCA
- 12. 洗牌算法:晚餐部門洗牌
- 13. 洗牌一副牌?
- 14. 洗牌回收數據的算法
- 15. 在mapreduce中洗牌大數據文件
- 16. simple-json正在洗牌我的數據
- 17. 火花正在洗牌大量數據
- 18. 從Spark上使用Breeze MLlib
- 19. f1score的Spark mllib閾值
- 20. Java中Spark MLlib的分類
- 21. 調整Apache Spark MLlib算法
- 22. Spark MLlib/K-Means直覺
- 23. 而不洗牌火花
- 24. 洗牌在Objective-C數組
- 25. 隨機洗牌數組
- 26. 如何洗牌數組值
- 27. 洗牌數組元素
- 28. 洗牌Javascript數組優雅
- 29. 如何「洗牌」數組?
- 30. 洗牌DefaultListModel
_mllib軟件包shuffle data_ - 正如@eliasah所述,它沒有。它只是通過遍歷每個分區來隨機抽樣。 _是否有一種方法在拆分數據之前對數據進行洗牌?_ - 這取決於上下文。您可以隨時重新分配或按隨機值排序,但它是a)昂貴的,b)如果您想每次都得到不同的結果,需要做一些努力來避免緩存c)如果您需要可重複使用的樣本,則很難獲得可重複的樣本。 – zero323
在上面的評論之間,我想我們有一個答案。你建議@ zero323是什麼? – eliasah
@eliasah如果你想回答不介意我。我會很高興得到upvote,如果你把這個提取到一些有用的東西:) – zero323