7

データフレームから選択した数の行をランダムに選択したいのですが、サンプルメソッドがこれを行うことは知っていますが、ランダム性が均一サンプリングであるべきだと心配していますか? それで、Dataframes での Spark のサンプル メソッドが統一されているかどうか疑問に思っていました。

ありがとう

4

2 に答える 2

13

ここにはいくつかのコード パスがあります。

  • その場合withReplacement = false && fraction > .4は、強化された乱数ジェネレーター ( rng.nextDouble() <= fraction) を使用し、それを機能させます。これでかなり均一になりそうです。
  • withReplacement = false && fraction <= .4より複雑なアルゴリズム ( ) を使用している場合、これGapSamplingIteratorもかなり均一に見えます。一見、これも均一に見える
  • 見た目が重複する可能性があることを除いてwithReplacement = true、同じことに近い場合、これは最初の2つほど均一ではないように見えます
于 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 に答える