R: как создать матрицу путаницы для предсказательной модели?

У меня есть фрейм данных. первый столбец содержит мой прогнозируемый балл (диапазон от 0 до 100, ожидается, что меньшие значения будут в классе A, более крупные значения ожидаются в классе B) для моей модели, второй столбец содержит реальную классификацию записей (либо "класс А" или "класс В" ).

Как получить матрицу путаницы с R для разных значений отсечки, так как я не могу решить, где я должен определять значения < 20 или < 50 как класс А еще?

Как эффективно проводить сравнение с R?

Ответ 1

Существует несколько способов сделать это, желательно воспроизвести пример с вашими данными:

set.seed(12345)
test <- data.frame(pred=c(runif(50,0,75),runif(50,25,100)), group=c(rep("A",50), rep("B",50)) )
table(test$pred<50,test$group)

дает

         A  B
  FALSE 18 34
  TRUE  32 16

Итак, это говорит о том, что 32 A были моложе 50 лет, а 34 B - более 50, а 18 A - более 50 (ошибочно классифицированы), а 16 B - менее 50 (ошибочно классифицированы).

set.seed(12345)
test <- data.frame(pred=c(runif(50,0,60),runif(50,40,100)), group=c(rep("A",50), rep("B",50)) )
table(test$pred<50,test$group)

дает

         A  B
  FALSE  8 40
  TRUE  42 10

В этом примере причина выборки, ваша классификация намного лучше.

"50" в этом затем можно изменить на все, что вы хотите, 20, 30 и т.д.

table(test$pred<50,test$group)