H2O autoML模型的交叉验证预测

时间:2019-05-17 07:51:27

标签: r h2o automl

根据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

1 个答案:

答案 0 :(得分:1)

@ spore234我的猜测是您的领导者是一个Stacked Ensemble模型,并且该模型不应具有任何交叉验证预测。

对于这种情况,我们可能应该提供有意义的警告。

让我也指出以下几行:

h2o.cross_validation_predictions(aml)

将引发有意义的错误,因为用户应该传递H2OModel对象,但是amlH2OAutoML类的实例。