Я использую R v3.3.2 и Caret 6.0.71 (т. Е. Последние версии) для построения классификатора логистической регрессии. Я использую функцию confusionMatrix для создания статистики для оценки ее производительности.R Confusion Матрица чувствительность и специфичность маркировки
logRegConfMat < - confusionMatrix (logRegPrediction, valData [ "посещение"])
- Ссылка 0, Прогноз 0 = 30
- Ссылка 1, Прогноз 0 = 14
- Ссылка 0, Прогнозирование 1 = 60
- Ссылка 1, Предсказание 1 = 164
Точность: 0,7239
Чувствительность: 0,3333
Специфичность: 0,9213
Целевое значение в моих данных (посещение) использует 1 для истинного и 0 для лжи. Я предполагаю, что столбцы Reference (Ground правда) и строки Predication (Classifier) в матрице путаницы следуют тому же соглашению. Поэтому мои результаты показывают:
- Истинные негативы (TN) 30
- Истинные позитивов (TP) 164
- Ложноотрицательные (FN) 14
- ложных срабатываний (FP) 60
Вопрос: Почему чувствительность задана как 0,3333, а специфика - 0,9213? Я бы подумал, что это было наоборот - см. Ниже.
Я не хочу верить, что в функции R confusionMatrix есть ошибка, поскольку ничего не сообщалось, и это, по-видимому, является значительной ошибкой.
Большинство ссылок о расчете специфичности и чувствительности определяют их следующим образом - т.е. www.medcalc.org/calc/diagnostic_test.php
- Чувствительность = TP/(TP + FN) = 164/(164 + 14) = 0,9213
- Специфичность = TN/(ФП + TN) = 30/(60 + 30) = 0,3333
Спасибо - я получил тот же ответ от автора пакета Max Kukn.Я бы посоветовал любому, кто использует эту функцию, явно дать положительный аргумент, чтобы избежать такой проблемы. – user1844985
@mtoto Большое спасибо, я часами размышлял об этой проблеме – Diego