【问题标题】:How to get sparse matrices into H2O?如何将稀疏矩阵转换为 H2O?
【发布时间】:2015-12-26 21:24:30
【问题描述】:

我正在尝试将稀疏矩阵放入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 中?

【问题讨论】:

    标签: r sparse-matrix h2o


    【解决方案1】:

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

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

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

    希望这会有所帮助!

    【讨论】:

    • 这很有帮助,但它引出了如何以 svmlight 格式保存 Matrix 对象的问题。除非我弄错了,否则这不是微不足道的;有没有一个巧妙的解决方案?
    • 已停产的 RSofia 包具有内置函数 write.svmlight。我没有将它用于这种特定情况,但您可以通过devtools::install_github("cran/RSofia")安装旧源代码
    猜你喜欢
    • 2023-04-10
    • 2021-11-25
    • 2017-07-02
    • 2020-12-07
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    相关资源
    最近更新 更多