Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark mllib对数据进行洗牌_Apache Spark_Apache Spark Mllib - Fatal编程技术网

Apache spark Spark mllib对数据进行洗牌

Apache spark Spark mllib对数据进行洗牌,apache-spark,apache-spark-mllib,Apache Spark,Apache Spark Mllib,spark mllib包是否洗牌数据。我一直在对数据使用randomSplit,但是,从拆分的角度看,它看起来具有相同的顺序 有没有办法在分割数据之前对其进行洗牌?我认为在分割数据时,您将实际的数据洗牌与随机种子混淆了。如果您将分割种子设置为常量,例如每个示例11L,您将始终获得相同的分割 正如@zero323mllib所述,它只是通过遍历每个分区来获取一个随机样本 有没有办法在分割数据之前对其进行洗牌? 这取决于上下文。您始终可以按随机值重新分区或排序,但它是 昂贵的 如果每次都希望得到不同的

spark mllib包是否洗牌数据。我一直在对数据使用randomSplit,但是,从拆分的角度看,它看起来具有相同的顺序


有没有办法在分割数据之前对其进行洗牌?

我认为在分割数据时,您将实际的数据洗牌与随机种子混淆了。如果您将分割种子设置为常量,例如每个示例11L,您将始终获得相同的分割

正如@zero323mllib所述,它只是通过遍历每个分区来获取一个随机样本

有没有办法在分割数据之前对其进行洗牌?

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

  • 昂贵的
  • 如果每次都希望得到不同的结果,则需要努力避免缓存
  • 如果你需要的话,很难得到可重复的样品
  • 因此,我的方法是迭代并在分割种子上产生结果。这是交叉验证的主要原则。这样,您可以根据正在执行的评估步骤获得最佳种子。你们有可复制的样品,但这种方法相当昂贵


    我希望这有帮助

    mllib包洗牌数据-如@eliasah所述,它不会洗牌。它只是通过遍历每个分区来获取一个随机样本。有没有办法在分割数据之前对其进行洗牌这取决于上下文。你总是可以按随机值重新分区或排序,但这是a)昂贵的,b)如果你每次都想得到不同的结果,就需要一些努力来避免缓存c)如果你需要的话,很难得到可复制的样本。在以上两个评论之间,我想我们有一个答案。你有什么建议@zero323?@eliasah如果你想回答,别介意我。如果你能把这句话提炼成有用的话,我会很高兴向上投票:)好的,谢谢老兄@zero323!如果我正在处理的源数据是按标签排序的,即源数据的所有标签都是1,后面跟着0。如果我正确理解了randomSplit的工作方式,那么所有0都将在测试集中结束。此外,训练算法可能会看到最多1个标签。对吗?我想你可能需要的是: