【问题标题】:Reading svmLigh format with h2o使用 h2o 读取 svmLigh 格式
【发布时间】:2019-07-08 15:09:44
【问题描述】:

使用 h2o R 包 (v 3.24.0.5) 进行一些深度学习,我需要将一些大的稀疏矩阵 [2M * 10k] 导入其中。 我尝试使用 fwrite,但遇到 cholmod 问题太大错误,所以使用 svmlight。 原始矩阵如下所示:

    Count    Dist    
1   nan     10.1266
2   859.124 10.8198
3   nan     10.1266

为此,我使用了 sparsio 包,写入正常,但是当使用 h2o.importFile 读取文件时,我发现有问题: 我得到了每个数字前面的列索引,如下所示:

library(sparsio)
write_svmlight(HiC_mat.All, file="Rdata/mat_kmer-NA.txt")


HIC_df = h2o.importFile("Rdata/mat_kmer-NA.txt")

HIC_df[1:3,1:3]
  C1        C2        C3
1  0     0:nan 1:10.1266
2  0 0:859.124 1:10.8198
3  0     0:nan 1:10.1266

知道如何摆脱这些吗?

数据应如下所示:

  C1        C2        C3
1  0       nan     10.1266
2  0    859.124    10.8198
3  0       nan     10.1266

【问题讨论】:

  • 您能否更新您的问题以包含您正在使用的 H2O-3 版本以及您希望数据集在正确导入后的样子?您还可以将 parser_type 指定为“SVMLight”。谢谢!
  • @Lauren 完成编辑。 importFile 函数没有 parse_type 参数,在尝试 uploadFile 时出现错误“NewChunk 的类型为 Numeric,但 Vec 的类型为 String”。导入后尝试解析
  • 导入后与解析相同,所以我猜问题出在用 sparsio 写入数据?

标签: r h2o svmlight


【解决方案1】:

好的,所以问题似乎确实在我使用的 svm 文件的编写中:

write_svmlight(x, y = numeric(nrow(x)), file = filename, zero_based = FALSE) 

现在可以用了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-16
    • 2012-02-29
    • 1970-01-01
    • 2016-12-12
    • 2012-11-10
    相关资源
    最近更新 更多