Я получаю сообщение об ошибке при использовании функции confusionMatrix()
из пакета caret
.Для воспроизведения примера я использую набор данных Sonar
из пакета mlbench
.
library(mlbench)
data(Sonar)
rows <- sample(nrow(Sonar))
Sonar <- Sonar[rows, ]
split <- round(nrow(Sonar) * 0.6)
adiestramiento <- Sonar[1:split, ]
experimental <- Sonar[(split + 1):nrow(Sonar), ]
model <- glm(Class ~ ., family = binomial(link = "logit"), adiestramiento)
p <- predict(model, experimental, type = "response")
p_class <- ifelse(p > 0.5, "M", "R")
library(caret)
confusionMatrix(p_class, experimental[["Class"]])
Ошибка, которую я получаю при запуске confusionMatrix()
, равна
Ошибка:data
и reference
должны быть факторами с одинаковыми уровнями`
Я проверил, что и p_class
, и experimental[["Class"]]
имеют одинаковое количество объектов (83).
Есть идеи, что происходит?