我正在尝试使用R中的H2O与Logistic regres集成一个随机森林。但是,以下代码中出现错误消息:
> localH2O = h2o.init()
Successfully connected to http://137.0.0.1:43329/
R is connected to the H2O cluster:
H2O cluster uptime: 3 hours 11 minutes
H2O cluster version: 3.2.0.3
H2O cluster name: H2O_started_from_R_toshiba_jvd559
H2O cluster total nodes: 1
H2O cluster total memory: 0.97 GB
H2O cluster total cores: 4
H2O cluster allowed cores: 2
H2O cluster healthy: TRUE
>
> # defining the training data and set data for H2O
>
> training_frame <- as.h2o(localH2O, muestra.fullarbol)
|=========================================================================================| 100%
> validation_frame <- as.h2o(localH2O, test.fullarbol)
|=========================================================================================| 100%
>
> yn <- "ex"
> xn <- names(datafullarbol[,-c(1,2,3,9,10,11,12,17,19,20,21,22,23,24,29,31,32,33,34,35,36,47)])
>
>
>
>
> learner <- c("h2o.glm.wrapper", "h2o.randomForest.wrapper")
> metalearner <- "SL.glm"
> family <- "binomial"
>
> fit <- h2o.ensemble(x=xn, y=yn,training_frame = training_frame, family = family,
+ learner = learner, metalearner = metalearner,cvControl = list(V = 5))
|=========================================================================================| 100%
[1] "Cross-validating and training base learner 1: h2o.glm.wrapper"
|=========================================================================================| 100%
[1] "Cross-validating and training base learner 2: h2o.randomForest.wrapper"
|=========================================================================================| 100%
Error in h2o.cbind(predlist) :
`h2o.cbind` accepts only of H2OFrame objects
显然,我的参数已正确给出,但是如您所见,消息:
h2o.cbind accepts only of H2OFrame objects appears
。错误的原因可能是什么? 最佳答案
看起来您可能正在使用h2o或h2oEnsemble软件包的较旧版本。 H2O数据帧的对象类以前称为H2OFrame
,现在简称为Frame
,而h2o.cbind
正在寻找类型为H2OFrame
的对象。
您可以通过将h2o和h2oEnsemble软件包更新为最新版本来解决此问题,如下所示:
# The following two commands remove any previously installed H2O packages for R.
if ("package:h2o" %in% search()) { detach("package:h2o", unload=TRUE) }
if ("h2o" %in% rownames(installed.packages())) {remove.packages("h2o") }
# Now we download, install and initialize the latest stable release of the *h2o* package for R.
install.packages("h2o", type="source", repos=(c("http://h2o-release.s3.amazonaws.com/h2o/rel-slater/5/R")))
library(h2o)
然后,如下更新h2oEnsemble:
library(devtools)
install_github("h2oai/h2o-3/h2o-r/ensemble/h2oEnsemble-package")
您随时可以在http://h2o.ai/download/上找到最新稳定的H2O版本(或最新版本)。