如何从 SVD 访问 U 和 V 矩阵
How to access to U & V matrices from SVD
我正在尝试 运行 h2o.svd 通过苏打水和水在 spark cluster 中。这个过程很顺利,我可以从 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
基本上,在 base R 中我可以使用 svd
,它会在模型对象中同时提供 $d
、$u
、$v
的结果。
由于我是 h2o 工作流程的新手,我假设上面的 h2o 对象 return 的结果仅 $d
仅与基础 R 进行比较。我如何获得矩阵 $u
和 $v
?
我的环境
- Azure Databricks 云集群,最新稳定版 (Scala 2.11)
- Spark 2.3.1
- SparklyR 0.2.8
- sparkling-water-assembly_2.11-2.3.13-全部
- R-h2o 3.20.0.7
- rsparkling 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)
我正在尝试 运行 h2o.svd 通过苏打水和水在 spark cluster 中。这个过程很顺利,我可以从 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
基本上,在 base R 中我可以使用 svd
,它会在模型对象中同时提供 $d
、$u
、$v
的结果。
由于我是 h2o 工作流程的新手,我假设上面的 h2o 对象 return 的结果仅 $d
仅与基础 R 进行比较。我如何获得矩阵 $u
和 $v
?
我的环境
- Azure Databricks 云集群,最新稳定版 (Scala 2.11)
- Spark 2.3.1
- SparklyR 0.2.8
- sparkling-water-assembly_2.11-2.3.13-全部
- R-h2o 3.20.0.7
- rsparkling 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)