Как выбрать между ROC AUC и F1 баллом?


26

Я недавно закончил соревнование Kaggle, в котором по требованию соревнования использовался roc auc. До этого проекта я обычно использовал показатель f1 в качестве метрики для измерения производительности модели. В будущем мне будет интересно, как выбрать между этими двумя показателями? Когда использовать какие и каковы их плюсы и минусы?

Кстати, я прочитал статью здесь. В чем разница между AUC и F1-счетом? , но это не говорит мне, когда использовать какой.

Заранее благодарю за любую помощь!

Ответы:


14

Ни одна из мер, перечисленных здесь, не является правильными правилами оценки точности, то есть правилами, оптимизированными правильной моделью. Рассмотрим оценку Бриера и основанные на логарифмическом правдоподобии меры, такие как псевдо . Индекс c (AUROC; вероятность согласования) не является правильным, но хорош для описания отдельной модели. Он недостаточно чувствителен для выбора моделей или сравнения даже двух моделей.р2с


Спасибо за ваш ответ, Фрэнк! Мне нужно дополнительное разъяснение, пожалуйста. Если бы мы могли выбирать только из ROC AUC и F1, какой из них вы бы выбрали и почему? Каковы плюсы и минусы их обоих?
Джордж Лю

2
Если вам разрешено выбирать только из index и F1, вы не будете спорить достаточно сильно. Золотой стандарт - логарифмическая правдоподобие, штрафная логарифмическая правдоподобие или байесовский эквивалент (например, DIC). Рядом с этим является оценка Brier. с
Фрэнк Харрелл

2
См. Citeulike.org/user/harrelfe/article/14321176 ; Я показал это своими собственными моделями. Если дисбаланс не вызван чрезмерной или недостаточной дискретизацией, вы можете использовать любое правильное правило подсчета, независимо от дисбаланса.
Фрэнк Харрелл

1
@FrankHarrell: ссылка мертва, можете ли вы ее перепроверить?
SiXUlm

13

Расчетная формула :

  • Точность ТП / (ТП + ФП)
  • Напомним: ТП / (ТП + ФН)
  • F1-счет: 2 / (1 / P + 1 / R)
  • ROC / AUC: TPR = TP / (TP + FN), FPR = FP / (FP + TN)

ROC / AUC - те же критерии, а кривая PR (Precision-Recall) (оценка F1, Precision, Recall) - также те же критерии.

Реальные данные имеют тенденцию иметь дисбаланс между положительными и отрицательными образцами. Этот дисбаланс имеет большое влияние на PR, но не на ROC / AUC.

Таким образом, в реальном мире кривая PR используется больше, поскольку положительные и отрицательные выборки очень неравномерны. Кривая ROC / AUC не отражает производительность классификатора, но кривая PR может.

Если вы просто проведете эксперимент в исследовательских работах, вы можете использовать ROC, результаты эксперимента будут более красивыми. С другой стороны, кривую PR используют в реальной задаче, и она лучше интерпретируется.


7

Выше ответы оба хороши.

SКевесзнак равноNегaTяvееИксaмпLеsпоsяTяvееИксaмпLеs

С несбалансированными данными AUC по-прежнему дает вам приблизительную стоимость около 0,8. Тем не менее, он высокий из-за большого FP, а не большого TP (истинно положительный).

Такой как пример ниже,

TP=155,   FN=182
FP=84049, TN=34088

Поэтому, когда вы используете AUC для измерения производительности классификатора, проблема заключается в том, что увеличение AUC на самом деле не отражает лучший классификатор. Это просто побочный эффект слишком многих негативных примеров. Вы можете просто попробовать в вашем наборе данных.

Fβзнак равно(1+β2)пресяsяоNресaLL(β2пресяsяоN)+ресaLL

β

Тогда мои предложения по несбалансированным данным похожи на этот пост . Вы также можете попробовать таблицу децилей, которую можно построить, выполнив поиск "Таблицы классификации и децилла два на два". Между тем я тоже изучаю эту проблему и буду лучше ее измерять.


Если вы заботитесь о производительности метода, вам лучше использовать ROC, чтобы показать эффективность его классификации. Но если вы больше заботитесь о фактическом прогнозе истинного положительного результата, оценка F1 приветствуется в отрасли.
Xiaorui Zhu

2
В реальных условиях бизнеса можно оценить издержки ложных срабатываний и издержки ложных отрицательных результатов. Затем окончательная классификация должна основываться на вероятностной модели и пороге классификации, выбранном для минимизации стоимости ложных классификаций. Я не думаю, что точность, или оценка F имеют много реальных приложений для дисциплинированного ученого данных.
Мэтью Друри

Да, я согласен с процедурой принятия решения, которая сводит к минимуму стоимость ложной классификации по вероятности отсечения и модели. А в некоторых случаях асимметричная стоимость может применяться к FP и FN. Но суть точности и оценки F заключается в проверке общей производительности модели или сравнении производительности между несколькими моделями. Действительно, с данными в руках ученого, минимизация затрат может быть всегда возможна. Но мне любопытно, действительно ли ученый по данным нуждается в распределении (или вариации) решения проблемы решения. Я хотел бы знать, не могли бы вы поделиться со мной некоторыми. Спасибо
Xiaorui Zhu

1
Лично я всегда оценивал бы правильность подгонки модели на основе условных вероятностей, которые она предсказывает. Поэтому я всегда сравнивал бы модели с использованием правильного правила оценки, такого как потеря журнала, использовал начальную загрузку, чтобы убедиться, что улучшение не является помехой, и, возможно, дополнить его AUC.
Мэтью Друри

2
Я не думаю, что это правда. AUC специально создан, чтобы быть нечувствительным к дисбалансу класса, я провел обширные моделирования по этому вопросу и обнаружил, что это правда. Кроме того, при сравнении моделей они должны основываться на наборах данных, взятых из одной и той же совокупности, что делает любую проблему с дисбалансом класса ноль.
Мэтью Друри

4

Чтобы выразиться очень простыми словами, когда у вас есть дисбаланс данных, т. Е. Разница между количеством примеров, которые у вас есть для положительных и отрицательных классов, велика, вы всегда должны использовать F1-показатель. В противном случае вы можете использовать кривые ROC / AUC.


Ваше определение «дисбаланса данных» таково, что вы почти всегда используете F1-показатель, так что это не сильно поможет. Может быть, вы могли бы немного расширить это?
jbowman

Я пропустил очень важное слово ... извинения. Отредактировал мой ответ. Дайте мне знать, если вам нужно больше разъяснений.
Бальбоа

1

Для некоторых задач классификации мультикласса анализ и визуализация ROC / AUC не просты. Вы можете посмотреть на этот вопрос, Как построить кривые ROC в мультиклассовой классификации? , В такой ситуации лучше использовать показатель F1.

И F1 балл является распространенным выбором для проблемы поиска информации и популярным в промышленных условиях. Вот хорошо объясненный пример, строить модели ML сложно. Развернуть их в реальных условиях бизнеса сложнее .


1

Если целью классификации является оценка по вероятности, лучше использовать AUC, который усредняется по всем возможным порогам. Однако, если цель классификации состоит в том, чтобы просто классифицировать между двумя возможными классами и не требовать того, насколько модель прогнозирует каждый класс, более уместно полагаться на F-показатель, используя определенный порог.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.