Caret:未定义的列已选择

问题描述 投票:3回答:2

我一直在尝试使以下代码在插入符号中运行,但出现错误。谁能告诉我如何麻烦射击。

[.data.frame(数据、、 lvls [1])中的错误:未定义的列已选择

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")
r r-caret
2个回答
7
投票

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


0
投票

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

fit.cart

© www.soinside.com 2019 - 2024. All rights reserved.