Точность определяется как:
р = истинные позитивы / (истинные позитивы + ложные позитивы)
Какое значение точности, если (истинные положительные + ложные положительные) = 0? Это просто не определено?
Тот же вопрос для отзыва:
r = истинные позитивы / (истинные позитивы + ложные негативы)
В этом случае, каково значение отзыва, если (истинные положительные + ложные отрицательные) = 0?
PS Этот вопрос очень похож на вопрос. Каковы правильные значения для точности и отзыва в крайних случаях? ,
precision-recall
Раффи Хачадурян
источник
источник
Ответы:
Ответы на связанный ранее вопрос также применимы и здесь.
Если (истинные положительные + ложные отрицательные) = 0, то во входных данных нет положительных случаев, поэтому в любом анализе этого случая нет информации и, следовательно, нет заключения о том, как обрабатываются положительные случаи. Вы хотите, чтобы N / A или что-то подобное в качестве отношения отношения, избегая деления на ноль ошибок
Если (истинные положительные + ложные положительные) = 0, то все случаи были предсказаны как отрицательные: это один конец кривой ROC. Опять же, вы хотите распознать и сообщить об этой возможности, избегая ошибки деления на ноль .
источник
Интересный ответ предлагается здесь: https://github.com/dice-group/gerbil/wiki/Precision,-Recall-and-F1-measure
Авторы выходных модулей различных оценок для точности и вспомнить в зависимости от того , истинные позитивов, ложные срабатывания и ложные негативы всех 0. Если они, результат якобы хороший.
Я не уверен, что этот вид оценки будет полезен в других ситуациях, кроме их особого случая, но стоит задуматься.
источник
При оценке классификатора при высоких порогах точность может (часто на самом деле) не быть 1, когда отзыв равен 0. Обычно это N / A! Я думаю, что что-то не так в том, как люди строят кривую P / R. Избегание выборок N / A - это предвзятость в том смысле, что вы избегаете выборок сингулярности. Я вычислил среднюю точность по отношению к среднему отзыву, игнорируя выборки N / A, и у меня никогда не было классификатора, начинающегося с 1 для 0, для мелкой нейронной сети при обнаружении объекта. Это также справедливо для кривых, рассчитанных по числам tp, fp, fn. Это довольно легко проверить с помощью бумаги и карандаша с одним изображением. Например: у меня есть классификатор, который выводит для одного изображения: preds = [. 7 .6 .5 .1 .05] true = [nynny] Путем вычисления матриц путаницы с различными порогами мы имеем: tp = [2 1 1 1 0 0], fn = [0 1 1 1 2 2], fp = [3 3 2 1 1 0]. rec rec = [1 .5 .5. 0 0], а точность = [. 4 .25 1/3. 0 0 NaN]. Я не понимаю, как имеет смысл заменить NaN или точность (@ rec == 0) на 1. 1 должна быть верхней границей, а не значением, которое мы заменяем точностью (@ rec == 0).
источник