Spark mllib 洗牌数据

Spark mllib shuffling the data

spark mllib 包是否随机播放数据。我一直在对数据使用 randomSplit,但是,查看拆分看起来它具有相同的顺序。

有没有办法在拆分数据之前打乱数据?

我认为您在拆分时将实际数据改组与随机种子混为一谈。如果您将拆分种子设置为一个常量,比如说每个示例 11L,您将始终获得相同的拆分。

正如@zero323 所述,Mllib 只是通过遍历每个分区来获取随机样本。

有没有办法在拆分数据之前打乱数据?

这取决于上下文。您始终可以按随机值重新分区或排序,但它是

  1. 如果您想每次都获得不同的结果,则需要一些努力来避免缓存
  2. 如果需要的话,很难获得可重现的样本。

因此我的方法是在分裂的种子上迭代并产生。这就是cross-validation的主要原则。这样你就可以根据你正在执行的评估步骤获得最好的种子。你有可重现的样本,但这种方法非常昂贵。

希望对您有所帮助。