7

スパース行列をH2Oに取り込もうとしていますが、それが可能かどうか疑問に思っていました。以下があるとします。

test <- Matrix(c(1,0,0,1,1,1,1,0,1), nrow = 3, sparse = TRUE)

私のローカルH2OがlocalH2Oであると仮定すると、次のことができないようです:

as.h2o(test)

次のエラーが表示されますcannot coerce class "structure("dgCMatrix", package = "Matrix")" to a data.frame。それはかなり論理的なようですが、テストが大きすぎてデータフレームに変換できないと仮定すると、これを H2O にロードするにはどうすればよいでしょうか? 疎行列表現を使用すると、わずか 500MB 程度です。

スパース行列を H2O に読み込むにはどうすればよいですか?

4

1 に答える 1

8

R のメモリに保存されているデータを H2O のメモリに転送するのは、基本的に 2 つの理由で面倒です。R はファイルの POST を実行してデータを H2O にストリーミングします。これは、1) H2O の並列リーダーを利用しない、2) 制限があるためです。あなたのデータをRに存在させます。

代わりに、R の h2o.importFile メソッドを使用して、H2O の並列リーダーを使用します。データはどこにでも置くことができます: HDFS、S3、通常のファイルシステム...

H2O は SVMLight リーダーを備えているため、R からのスパース行列を svmlight 形式で保存することをお勧めします。

お役に立てれば!

于 2015-10-01T00:59:03.830 に答える