使用mlr预测错误:

时间:2017-07-10 10:37:03

标签: r h2o mlr

我尝试使用以下代码训练h2o模型并对新数据进行预测,但这会导致错误。如何避免此错误?

library(mlr)
a <- data.frame(y=factor(c(1,1,1,1,1,1,1,1,0,0,1,0)), 
                x1=rep(c("a","b","c"), times=c(6,3,3)))
aTask <- makeClassifTask(data = a, target = "y", positive = "1")
h2oLearner <- makeLearner("classif.h2o.deeplearning", 
                          predict.type = "prob")
model <- train(h2oLearner, aTask)

b <- data.frame(x1=rep(c("a","b", "c"), times=c(3,5,4)))
pred <- predict(model, newdata=b)

导致以下错误:

  

checkPredictLearnerOutput(.learner,.model,p)出错:
  classif.h2o.deeplearning的predictLearner返回的不是类   作为列名称的级别:p0,p1

如果我将predict.type更改为“response”,则可以正常工作。那么如何预测概率?

1 个答案:

答案 0 :(得分:3)

此错误已在this commit中修复,并将在下一个版本中修复。在此之前,您可以安装Github版本:

devtools::install_github("mlr-org/mlr")