как h2o-spark glrm получает х с идентификатором пользователя - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть пользовательская матрица A, я хочу разложить A на X и Y. Я тестирую H2O Spark Glrm, но не могу вывести userId.следующий код:

val data = spark.sparkContext.parallelize(1 to 100).map{
  i =>
    val x = Array.fill(50)(math.random)
    i.toString -> Vectors.dense(x)
}.toDF("offset", "x")

System.setProperty("sys.ai.h2o.network.ip.ping.timeout", "3000")
val h2oContext = H2OContext.getOrCreate(spark)
import h2oContext.implicits._
val h2oDf = h2oContext.asH2OFrame(data, "data_table")
val params = new GLRMParameters
params._train = h2oDf._key
params._max_iterations = 100
params._init_step_size = 0.01
params._gamma_x = 0.25
params._gamma_x = 0.5
params._ignored_columns = Array("offset")
params._k = 20
val glrm = new GLRM(params)
val model = glrm.trainModel().get()
h2oContext.asDataFrame(model._output._representation_key.get(), copyMetadata = true)(spark.sqlContext).show()

полученный результат: введите описание изображения здесь

результат не содержит столбец смещения.как вывести смещение и скрытые факторы?

...