Р: Как составить путаницу для прогнозирующей модели? - PullRequest
13 голосов
/ 08 июля 2011

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

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

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

1 Ответ

20 голосов
/ 08 июля 2011

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

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)

1010 * дает *

         A  B
  FALSE  8 40
  TRUE  42 10

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

В этом случае «50» можно изменить на что угодно: 20, 30 и т. Д.

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