2017-05-17 7 views
0

私は40列と100万行のh2oデータテーブルを持っています。私は置き換えなくても30万行のランダムな選択をしたい。私がオンラインに見えたH2o.sample機能はRのH2Oデータフレームのサンプルをランダムに取る方法は?

Error: could not find function "h2o.sample" 

(私はすでにH2Oクラスターを開始しました)エラーになります私はこれを行うことができます他の方法はありますか?前もって感謝します!

答えて

3

h2o.sample()機能はありません(非常に古いバージョンのH2Oがあったのでしょうか?)。 h2o.splitFrame()機能を使用して、フレームを分割することができます。これは、データフレームのランダムなサブセットを取る方法(置換なし)としても機能します。関数は実際には2つ(またはそれ以上)のデータを実際に作成しますので、30%だけを必要とする場合は、irisを使用して30%のランダムサンプルを得る例を次に示します。

library(h2o) 
h2o.init() 

hf <- as.h2o(iris) 
ss <- h2o.splitFrame(hf, ratios = c(0.3), seed = 1) 
sub_hf <- ss[[1]] # will contain 30% of the rows 

スケーラビリティ上の理由から、h2o.splitFrame()は「おおよその分割」を使用しています。つまり、必ずしも正確に30%の行が得られるわけではありません。ただし、期待値は30%であり、データが大きくなると希望の割合に近くなります。虹彩は150行の小さなデータセットなので、より多くの分散があります。

関連する問題