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 的内存很麻烦,主要有两个原因:R 执行文件的 POST 以将数据流式传输到 H2O,这 1) 没有利用 H2O 的并行读取器,以及 2) 限制您的数据存在于 R 中。

相反,使用 R 中的 h2o.importFile 方法来使用 H2O 的并行阅读器。您的数据可以存在于任何地方:HDFS、S3、常规文件系统......

H2O 支持 SVMLight 阅读器,因此建议将 R 中的稀疏矩阵保存为 svmlight 格式。

希望这可以帮助!

于 2015-10-01T00:59:03.830 回答