根据h2o文档,我可以设置keep_cross_validation_predictions = T
以从我的automl
模型中获得交叉验证预测。
但是我无法使其正常工作。
使用文档中的示例
library(h2o)
h2o.init()
# Import a sample binary outcome train/test set into H2O
train <- h2o.importFile("https://s3.amazonaws.com/erin-data/higgs/higgs_train_10k.csv")
test <- h2o.importFile("https://s3.amazonaws.com/erin-data/higgs/higgs_test_5k.csv")
# Identify predictors and response
y <- "response"
x <- setdiff(names(train), y)
# For binary classification, response should be a factor
train[,y] <- as.factor(train[,y])
test[,y] <- as.factor(test[,y])
# Run AutoML for 20 base models (limited to 1 hour max runtime by default)
aml <- h2o.automl(x = x, y = y,
training_frame = train,
max_models = 20,
keep_cross_validation_predictions = TRUE,
seed = 1)
运行模型后,我尝试了
h2o.cross_validation_predictions(aml)
h2o.cross_validation_predictions(aml@leader)
h2o.cross_validation_holdout_predictions(aml)
h2o.cross_validation_holdout_predictions(aml@leader)
但没有一个起作用。
编辑我正在使用最新的稳定版3.24.02
答案 0 :(得分:1)
@ spore234我的猜测是您的领导者是一个Stacked Ensemble模型,并且该模型不应具有任何交叉验证预测。
对于这种情况,我们可能应该提供有意义的警告。
让我也指出以下几行:
h2o.cross_validation_predictions(aml)
将引发有意义的错误,因为用户应该传递H2OModel
对象,但是aml
是H2OAutoML
类的实例。