h2oensemble Error in value[[3L]](cond) : argument “training_frame” must be a valid H2O H2OFrame or id

匿名 (未验证) 提交于 2019-12-03 01:00:01

问题:

While trying to run the example on H2OEnsemble found on http://learn.h2o.ai/content/tutorials/ensembles-stacking/index.html from within Rstudio, I encounter the following error:

Error in value[3L] : argument "training_frame" must be a valid H2O H2OFrame or id

after defining the ensemble

fit <- h2o.ensemble(x = x, y = y,                      training_frame = train,                       family = family,                       learner = learner,                       metalearner = metalearner,                      cvControl = list(V = 5, shuffle = TRUE)) 

I installed the latest version of both h2o and h2oEnsemble but the issue remains. I have read here `h2o.cbind` accepts only of H2OFrame objects - R that the naming convention in h2o changed over time, but I assume by installing the latest version of both this should not be any longer the issue.

Any suggestions?

library(readr) library(h2oEnsemble)  # Requires version >=0.0.4 of h2oEnsemble library(cvAUC)  # Used to calculate test set AUC (requires version >=1.0.1 of cvAUC) localH2O <-  h2o.init(nthreads = -1)  # Start an H2O cluster with nthreads = num cores on your machine      # Import a sample binary outcome train/test set into R train <- h2o.importFile("http://www.stat.berkeley.edu/~ledell/data/higgs_10k.csv") test <- h2o.importFile("http://www.stat.berkeley.edu/~ledell/data/higgs_test_5k.csv") y <- "C1" x <- setdiff(names(train), y) family <- "binomial"  #For binary classification, response should be a factor train[,y] <- as.factor(train[,y])   test[,y] <- as.factor(test[,y])   # Specify the base learner library & the metalearner learner <- c("h2o.glm.wrapper", "h2o.randomForest.wrapper",                 "h2o.gbm.wrapper", "h2o.deeplearning.wrapper") metalearner <- "h2o.deeplearning.wrapper"   # Train the ensemble using 5-fold CV to generate level-one data # More CV folds will take longer to train, but should increase performance fit <- h2o.ensemble(x = x, y = y,                      training_frame = train,                      family = family,                      learner = learner,                      metalearner = metalearner,                     cvControl = list(V = 5, shuffle = TRUE)) 

回答1:

This bug was recently introduced by a bulk find/replace change of a class name made to the h2o R code. The change was inadvertently applied to the ensemble code folder as well (where we currently have manual instead of automatic tests -- soon to be automatic to prevent this sort of thing). I've fixed the bug.

To fix, reinstall the h2oEnsemble package from GitHub:

library(devtools) install_github("h2oai/h2o-3/h2o-r/ensemble/h2oEnsemble-package") 

Thanks for the report! For a quicker response, post bugs and questions here: https://groups.google.com/forum/#!forum/h2ostream



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!