在mlr包中运行predict()函数时出错

时间:2015-12-20 07:40:57

标签: r mlr

我正在尝试使用[{1: 'E'}, {1: 'A'}, {1: 'O'}, {1: 'I'}... 包运行模型,但我在使用[1, 2, 2, 2, 4, 5, 4, 6, 7].group_by {|i| i }.any? {|_, v| v.size >= 3} 函数时遇到了一些问题。它给我以下错误消息:

mlr

请在下面找到可重复的示例:

predict()

然后出现错误。难道我做错了什么?谢谢!

2 个答案:

答案 0 :(得分:2)

mlr期望将索引向量传递给subset参数。然后它会自动对数据帧进行子集化,因此您不必自己进行此操作。您还可以使用mlr自动使用重新采样说明对列车和测试集进行分区(请参阅the tutorial):

require(mlr)     # models
require(caTools) # sampling
require(Zelig)   # data

data("voteincome")
voteincome$vote <- as.factor(voteincome$vote)

set.seed(0)
task <- makeClassifTask(data = voteincome, target = "vote")
lrnr <- makeLearner("classif.randomForest")
rdesc <- makeResampleDesc("Holdout", split = 0.75)

res <- resample(learner = lrnr, task = task, resampling = rdesc)

# get predictions on test set
getPredictionResponse(res$pred)

# compute accuracy, also see https://mlr-org.github.io/mlr-tutorial/devel/html/performance/index.html
performance(res$pred, acc)

答案 1 :(得分:1)

试试这个:

pred <- predict(mod$learner.model, task = task, subset = test)