我正在尝试建立一个mlr
分类任务,其中 75% 的数据将用于训练,这 75% 将通过重复的交叉验证重新采样。
我的任务设置如下
pred.Bin.Task <- makeClassifTask(id="CountyCrime", data=df, target="count.bins")
preProc.Task <- normalizeFeatures(pred.Bin.Task, method="range")
rdesc <- makeResampleDesc("RepCV", reps=3, folds=5)
inTraining <- caret::createDataPartition(df$count.bins, p = .75, list = FALSE)
但我无法让重采样工作。当我做lda.train <- resample("classif.lda", preProc.Task, rdesc, subset=inTraining)
我得到错误
Error in setHyperPars2.Learner(learner, insert(par.vals, args)) :
classif.lda: Setting parameter subset without available description object!
You can switch off this check by using configureMlr!
没有子集(即)的训练 lda.train <- resample("classif.lda", preProc.Task, rdesc)
有效。
我宁愿拥有整个数据,而不仅仅是任务中的训练数据,这样当我使用保留数据进行预测时,我不需要预处理和重新提交新数据。关于如何正确设置子集的任何建议?