7

我想从数据框中随机选择一定数量的行,并且我知道示例方法可以做到这一点,但我担心我的随机性应该是统一采样?所以,我想知道 Spark on Dataframes 的示例方法是否统一?

谢谢

4

2 回答 2

13

这里有几个代码路径:

  • 如果withReplacement = false && fraction > .4然后它使用增强的随机数生成器 ( rng.nextDouble() <= fraction) 并让它完成工作。这看起来会很统一。
  • 如果withReplacement = false && fraction <= .4那么它使用更复杂的算法 ( GapSamplingIterator),看起来也很统一。乍一看,它看起来应该也是统一的
  • 如果withReplacement = true它确实接近相同的东西,除了它可以通过它的外观复制所以在我看来它不会像前两个一样统一
于 2015-07-26T15:30:21.953 回答
0

是的,它是统一的,有关更多信息,您可以尝试下面的代码。我希望这可以澄清。

我认为这应该可以解决问题,其中“数据”是您的数据框。val splits = data.randomSplit(Array(0.7, 0.3)) val (trainingData, testData) = (splits(0), splits(1))

于 2016-10-13T08:34:21.823 回答