Ошибка в chk.H2OFrame(x): должен быть H2OFrame

Я запустил глубокое обучение h2o и получил следующую модель.

best_model<- h2o.deeplearning( activation = "RectifierWithDropout",
                                            hidden = c(200, 200, 200, 200, 200),
                                            hidden_dropout_ratio = c(0.1, 0.1, 0.1, 0.1, 0.1),
                                            loss = "CrossEntropy",
                                            l1 = 1e-5,
                                            epochs = EPOCHS,
                                            distribution = "multinomial",
                                            seed = 5000,
                                            balance_classes = TRUE,
                                            y = c("Churn"),
                                            x = columns,
                                            validation_frame = churn_validation,
                                            training_frame = churn_training

                                            )

Теперь я пытаюсь проверить это с помощью моих тестовых данных, подобных этому

churn_prediction <- h2o.predict(best_model, my_test)

Я получаю эту ошибку:

Error in chk.H2OFrame(x) : must be an H2OFrame

Любые предложения, пожалуйста?

РЕДАКТИРОВАТЬ: пример из документации, которая работает нормально

library(h2o)
h2o.init()
iris.hex <- as.h2o(iris)
iris.dl <- h2o.deeplearning(x = 1:4, y = 5, training_frame = iris.hex)

# now make a prediction
predictions <- h2o.predict(iris.dl, iris.hex)

person Sujay DSa    schedule 09.12.2016    source источник
comment
Похоже, my_test не является H2OFrame. Вы преобразовали my_test в h2oframe?   -  person phiver    schedule 09.12.2016
comment
@phiver Примеры документации показывают, что мы можем напрямую использовать вывод функции глубокого обучения. Нет необходимости в явном преобразовании. Так что я не уверен, что здесь не так.   -  person Sujay DSa    schedule 09.12.2016
comment
Я здесь с phiver, my_test должен быть H2OFrame. Если вы не согласны, опубликуйте точную ссылку на документацию, которая заставляет вас думать иначе, и/или создайте воспроизводимый пример.   -  person jmuhlenkamp    schedule 09.12.2016
comment
извините, phiver и jmuhlenkamp были правы. Я упустил из виду переменную my_test, которая должна была быть преобразована в кадр h2o.   -  person Sujay DSa    schedule 10.12.2016


Ответы (1)


Обобщая комментарии (ответы) выше: my_test должен быть H2OFrame. Вы можете преобразовать его из R data.frame в H2OFrame с помощью hf <- as.h2o(my_test), или если вы загрузите данные с диска с помощью my_test <- h2o.importFile("test.csv"), это уже будет H2OFrame без необходимости копирования из памяти R.

person Erin LeDell    schedule 10.12.2016