【发布时间】:2016-03-19 23:45:21
【问题描述】:
在尝试从 Rstudio 中在 http://learn.h2o.ai/content/tutorials/ensembles-stacking/index.html 上找到的 H2OEnsemble 上运行示例时,我遇到以下错误:
值错误[3L]: 参数“training_frame”必须是有效的 H2O H2OFrame 或 id
定义整体之后
fit <- h2o.ensemble(x = x, y = y,
training_frame = train,
family = family,
learner = learner,
metalearner = metalearner,
cvControl = list(V = 5, shuffle = TRUE))
我安装了h2o 和h2oEnsemble 的最新版本,但问题仍然存在。我在这里读到`h2o.cbind` accepts only of H2OFrame objects - R h2o 中的命名约定随着时间的推移而改变,但我认为通过安装两者的最新版本应该不再是问题。
有什么建议吗?
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))
【问题讨论】:
-
使用像 h2o.randomForest.wrapper 这样的包装器很有趣。所有其他 h2o 语句也可以工作,但是一旦您使用 h2o.ensemle,代码就会返回此错误。它与检查框架有关。当我今天稍晚一点时间时,我将创建一个 jira 问题。
-
@phiver 非常感谢。会不会和这个有关? “看起来您可能正在使用旧版本的 h2o 或 h2oEnsemble 包。H2O 数据框的对象类以前称为 H2OFrame,现在它只是称为 Frame,而 h2o.cbind 正在寻找的对象类型,H2OFrame。”是第二个链接中 cbind 问题的 cmets 之一
-
问题在Jira 中打开。它已经被取走。
标签: r cran h2o ensemble-learning