PySpark randomSplit vs SkLearn火车测试拆分-随机种子问题

时间:2019-03-31 05:15:19

标签: apache-spark scikit-learn pyspark train-test-split

假设我有一个pandas数据帧,并且将sklearn.model_selection.train_test_split参数设置为1的情况下应用了random_seed

假设我然后使用完全相同的pandas数据帧并创建一个SQLContext实例的Spark数据帧。如果在将randomSplit参数设置为1的情况下应用PySpark seed函数,是否总是可以确保获得完全相同的分割?

1 个答案:

答案 0 :(得分:1)

一般来说,不是。

大多数“随机”数字生成器实际上都是函数,它们接受一些输入值并生成一个很长的字节流,可以将其转换为其他类型的值。 “随机性”来自这样一个事实,即仅给定此流中的值(即使您想要的数量),则很难预测下一个值或提取原始输入值。

此输入值就是我们所说的“种子”。

结果是否相同,不仅取决于种子,还取决于sklearnpyspark是否使用完全相同随机数生成器实现,操作系统它们在处理器架构上运行...