在R中使用插入符号来拟合具有类概率的模型?

时间:2016-09-05 18:02:54

标签: r machine-learning r-caret

我正在使用R中的堆叠ML算法进行一些预测,并且我已成功准备了子模型(请参阅下面的工作代码:

trainSet <- read.csv("train.csv")
testSet <- read.csv("test.csv")

trainSet$Survived <- as.factor(trainSet$Survived)

algorithmList <- c('lda', 'rpart', 'glm', 'knn', 'svmRadial')

# create submodels
control <- trainControl(method="repeatedcv", number=10, repeats=3, savePredictions=TRUE, classProbs=TRUE)

set.seed(seed)
models <- caretList(Survived~ Pclass + Sex + Fare, data=trainSet, trControl=control, methodList=algorithmList)
results <- resamples(models)
summary(results)
dotplot(results)

但是当我真正去堆叠子模型时:

# stack using glm
stackControl <- trainControl(method="repeatedcv", number=10, repeats=3, savePredictions=TRUE, classProbs=TRUE)
set.seed(seed)
stack.glm <- caretStack(models, method="glm", metric="Accuracy", trControl=stackControl)
print(stack.glm)

它给出了错误消息:

Error in check_caretList_model_types(list_of_models) : 
  The following models were fit by caret::train with no class probabilities: lda, rpart, glm, knn, svmRadial.
Please re-fit them with trainControl(classProbs=TRUE)

但是,正如您所看到的,我相信我实际上确实适合他们使用classProbs = TRUE(请参阅我的&#39;控制&#39;变量)并且不明白为什么我& #39;收到此错误消息!有什么想法吗?

0 个答案:

没有答案