如何将稀疏矩阵变为H2O?

时间:2015-09-29 11:51:23

标签: r sparse-matrix h2o

我试图将稀疏矩阵导入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中?

1 个答案:

答案 0 :(得分:8)

将存储在R存储器中的数据传输到H2O的内存是很麻烦的,原因主要有两个:R执行文件POST以将数据流式传输到H2O,1)不利用H2O的并行读取器,以及2)将您的数据限制为R中存在的数据。

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

H2O运行SVMLight阅读器,因此建议以svmlight格式从R保存稀疏矩阵。

希望这有帮助!