Ошибка: `data` и` reference` должны быть факторами с одинаковыми уровнями 'не возвращает путаницу - PullRequest
0 голосов
/ 05 июля 2019

У меня есть CSV-файл, содержащий предполагаемые вероятности и фактические результаты. Я хочу создать матрицу путаницы, используя пороговое значение 0,5 для оценочных вероятностей, но продолжаю получать сообщение об ошибке «Ошибка: data и reference должны быть факторами с одинаковыми уровнями». В чем дело? Смотрите код ниже

Я пытался написать код

ВКЛЮЧИТЬ ЗОНДЫ В КЛАССЫ И ЧАСТОТЫ ДИСПЛЕЯ

p_class = ifelse (probs_truth$estimated > 0.5, 1, 0)
table(p_class)

МАТРИЦА РАСЧЕТА КОНФУЗИИ

predicted = p_class
actual = probs_truth$truth

library(caret)
result = confusionMatrix (data=predicted, reference=actual)
print(result)

Я ожидал, что будет возвращена таблица матрицы путаницы

1 Ответ

0 голосов
/ 05 июля 2019

Последующий код работает для меня, надеюсь, он поможет: Я сделал небольшой набор данных, который, как мне кажется, напоминает ваши данные.

library(data.table)
probs_truth <- data.table(estimated = c(0.5, 0.3, 0.7, 0.8, 0.1), actual = c(1, 0, 0, 1, 0))

Добавлен столбец в ваш набор данных с оценочными значениями в соответствии с вашим утверждением ifelse ('оценка2').

probs_truth$estimated2 = ifelse (probs_truth$estimated > 0.5, 1, 0)

Удостоверьтесь, что «оценочные2» ​​и «фактические» являются факторами.

probs_truth$estimated2 <- as.factor(probs_truth$estimated2)
probs_truth$actual <- as.factor(probs_truth$actual)

head(probs_truth)

library(caret)
result = confusionMatrix (data=probs_truth$estimated2, reference=probs_truth$actual)
print(result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...