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