Как показано в коде ниже, после перекрестной проверки я пытаюсь извлечь метрики модели для каждого сгиба.Я сохранил все прогнозы при повторной выборке, сгруппировал данные по сгибам, вычислил матрицу путаницы для каждой группы и сохранил объект матрицы путаницы в виде столбца списка cm
.Теперь мне нужно извлечь метрическую информацию, например, точность и т. Д. Из объектов, сохраненных в столбце.Мой пример кода показан ниже.
library(caret)
iris2 = iris %>%
filter(Species != 'setosa') %>%
mutate(Species = factor(Species))
train.control <- trainControl(method="cv",
number=5,
summaryFunction = twoClassSummary,
classProbs = TRUE,
savePredictions='all')
rf = train(Species~., data=iris2, method = 'rf',
metric = 'ROC', trControl=train.control)
rf$pred %>% group_by(Resample) %>%
do(cm = confusionMatrix(.$pred, .$obs),
Accuracy = map(cm, ~.x$byClass['Precision']))
Я получил сообщение об ошибке:
Error in .x$byClass : $ operator is invalid for atomic vectors
Я не мог понять, почему это не работает.У меня вопрос, как я могу изменить последнюю строку, чтобы она работала?Спасибо