插入符号:选择了未定义的列

Caret: undefined columns selected

我一直在尝试将以下代码添加到 运行 插入符中,但出现错误。谁能告诉我如何解决它。

Error in [.data.frame(data, , lvls[1]) : undefined columns selected

library(tidyverse)
library(caret)

mydf <- iris

mydf <- mydf %>% 
  mutate(tgt = as.factor(ifelse(Species == 'setosa','Y','N'))) %>% 
  select(everything(), -Species)

trainIndex <- createDataPartition(mydf$tgt, p = 0.75, times = 1, list = FALSE)
train <- mydf[trainIndex,]
test <- mydf[-trainIndex,]

fitControl <- trainControl(method = 'repeatedcv',
                       number = 10,
                       repeats = 10,
                       allowParallel = TRUE,
                       summaryFunction = twoClassSummary)

fit_log <- train(tgt~.,
             data = train,
             method = "glm",
             trControl = fitControl,
             family = "binomial")

您需要在控制函数中使用classProbs = TRUE。 ROC 曲线基于 class 概率,错误是汇总函数未找到这些列。

使用数据 = data.frame(xxxxx)。如下例

fit.cart <- train(条件~., data = data.frame(trainset), method="rpart", metric=metric, trControl=control)