r语言 - 如何从 SVD 访问 U & V 矩阵



我正在尝试通过苏打水和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 cloud cluster, latest stable (Scala 2.11(
  • 火花 2.3.1
  • 斯帕克利 0.2.8
  • 苏打水-assembly_2.11-2.3.13-全部
  • R-h2o 3.20.0.7
  • 闪发光 0.2.8

你可以得到你的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)

相关内容

  • 没有找到相关文章

最新更新