【问题标题】:How to access to U & V matrices from SVD如何从 SVD 访问 U & V 矩阵
【发布时间】:2019-02-28 23:20:33
【问题描述】:

我正在尝试通过苏打水和 h2o 在火花集群中运行 h2o.svd。过程很顺利,我可以从 h2o 命令获取 SVD 对象,但我只能看到下面的结果。

#Exclude ID column in h2o data frame
my_svd <- h2o.svd(my_h2o_df[,2:138], nv = 10)

my_svd

Model Details:
==============

H2ODimReductionModel: svd
Model ID:  SVD_model_R_1537868492645_2
Singular values:

      sval1     sval2     sval3     sval4     sval5     sval6     sval7
1 80.821459 53.024006 40.153390 38.508806 36.984611 35.530345 33.960273
      sval8     sval9    sval10
1 33.189426 27.904307 27.607862

NULL

基本上,在基础 R 中,我可以使用svd,它会在模型​​对象中同时提供$d$u$v 的结果。

由于我是 h2o 工作流程的新手,我假设上述 h2o 对象的结果仅返回 $d 仅与基本 R 相比。我如何获得矩阵 $u$v

我的环境

  • Azure Databricks 云集群,最新稳定版 (Scala 2.11)
  • Spark 2.3.1
  • SparklyR 0.2.8
  • 苏打水组装_2.11-2.3.13-全部
  • R-h2o 3.20.0.7
  • rsparkling 0.2.8

【问题讨论】:

    标签: r h2o svd sparklyr


    【解决方案1】:

    您可以通过以下方式获取您的 D、V 和 U:

    # singular values (D)
    my_svd@model$d
    
    # singular vectors (U)
    h2o.getFrame(my_svd@model$u_key$name)
    
    # # singular vectors (V):
    h2o.getFrame(my_svd@model$v_key$name)
    

    【讨论】:

    • 哇!你是我的救星!请问@@model在h2o对象中的定义?似乎 h2o 对象与基本 R 对象有很大不同,我找不到有关您的解决方案的任何参考。
    • h2o 模型是 S4 对象。有关 S4 对象的信息,请参阅:kasperdanielhansen.github.io/genbioconductor/html/…(此链接包含有用的信息,例如:“S4 类中的数据被组织到插槽中。您可以使用“@”访问插槽”
    • 注明。非常感谢。
    猜你喜欢
    • 2015-10-09
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 2014-02-26
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    相关资源
    最近更新 更多