Как получить доступ к матрицам U & V из SVD - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь запустить h2o.svd в искровом кластере через газированную воду & h2o.Процесс прошел хорошо, и я мог получить объект SVD из команды h2o, но я мог видеть только результат ниже.

#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

В основном, в базовом RI можно использовать 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-all
  • R-h2o 3.20.0.7
  • rsparkling 0.2.8

1 Ответ

0 голосов
/ 25 сентября 2018

вы можете получить свои 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)
...