Оценка качества в задачах классификации — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Простые оценки)
(ROC, AUC)
Строка 28: Строка 28:
 
* '''Precision''' (да, тоже точность), показывает долю объектов класса среди объектов выделенных классификатором.
 
* '''Precision''' (да, тоже точность), показывает долю объектов класса среди объектов выделенных классификатором.
 
: <tex>Prec = \dfrac{TP}{TP + FP}</tex>
 
: <tex>Prec = \dfrac{TP}{TP + FP}</tex>
 +
* '''Specificity''', показывает долю верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор правильно '''не''' относит объекты к классу.
 +
: <tex>Spc = \dfrac{TN}{FP + TN}</tex>
 
* '''Fall-out''', так же '''FPR''' (false positive rate), показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.
 
* '''Fall-out''', так же '''FPR''' (false positive rate), показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.
 
: <tex>FPR = \dfrac{FP}{FP + TN}</tex>
 
: <tex>FPR = \dfrac{FP}{FP + TN}</tex>
  
 
= ROC кривая =
 
= ROC кривая =
 +
Для наглядной оценки качества алгоритма применяется [https://en.wikipedia.org/wiki/Receiver_operating_characteristic ROC кривая]. Кривая строится на плоскости, определённой осями полноты (recall, TPR) по вертикали и частоты ложных срабатываний (FPR, 1-Spc).
 +
 +
Чтобы построить кривую:
 +
# Запустить классификатор на тестовой выборке
 +
# Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу
 +
# Пока не кончились элементы:
 +
## Взять объект с максимальной уверенностью
 +
## Сравнить метку с реальной
 +
## Пересчитать TPR и FPR на взятых объектах
 +
## Поставить точку, если обе характеристики не NaN / ±∞
 +
# Построить кривую по точкам
 +
 +
Таким образом число точек не превосходит число объектов, идеальный алгоритм проходит через точку (0;1), худший (например, монетка) — прямая TPR = FPR.
 +
Для численной же оценки алгоритма по ROC кривой используется значение площади под ней ('''AUC''', area under curve). Таким образом идеальный алгоритм имеет AUC равный 1, а плохой — 0,5.

Версия 20:12, 9 апреля 2019

Общие понятия

  • TP — true positive, классификатор верно отнёс объект к рассматриваемому классу.
  • TN — true negative, классификатор верно утверждает, что объект не принадлежит к рассматриваемому классу.
  • FP — false positive, классификатор неверно отнёс объект к рассматриваемому классу.
  • FN — false negative, классификатор неверно утверждает, что объект не принадлежит к рассматриваемому классу.

Confusion matrix (матрица несоответствий) наглядно показывает суть этих показателей:

Принадлежит классу (P) Не принадлежит классу (N)
Предсказана принадлежность классу TP FP
Предсказано отсутствие принадлежности к классу FN TN

Простые оценки

  • Accuracy (точность), показывает долю правильных классификаций. Несмотря на очевидность и простоту является одной из самых малоинформативных оценок классификаторов.
[math]Acc = \dfrac{TP + TN}{TP + TN + FP + FN}[/math]
  • Recall (полнота), так же sensitivity и TPR (true positive rate), показывает долю найденных объектов класса к общему числу объектов класса. Иначе говоря то, насколько хорошо наш классификатор находит объекты из класса.
[math]Recall = \dfrac{TP}{TP + FN}[/math]
  • Precision (да, тоже точность), показывает долю объектов класса среди объектов выделенных классификатором.
[math]Prec = \dfrac{TP}{TP + FP}[/math]
  • Specificity, показывает долю верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор правильно не относит объекты к классу.
[math]Spc = \dfrac{TN}{FP + TN}[/math]
  • Fall-out, так же FPR (false positive rate), показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.
[math]FPR = \dfrac{FP}{FP + TN}[/math]

ROC кривая

Для наглядной оценки качества алгоритма применяется ROC кривая. Кривая строится на плоскости, определённой осями полноты (recall, TPR) по вертикали и частоты ложных срабатываний (FPR, 1-Spc).

Чтобы построить кривую:

  1. Запустить классификатор на тестовой выборке
  2. Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу
  3. Пока не кончились элементы:
    1. Взять объект с максимальной уверенностью
    2. Сравнить метку с реальной
    3. Пересчитать TPR и FPR на взятых объектах
    4. Поставить точку, если обе характеристики не NaN / ±∞
  4. Построить кривую по точкам

Таким образом число точек не превосходит число объектов, идеальный алгоритм проходит через точку (0;1), худший (например, монетка) — прямая TPR = FPR. Для численной же оценки алгоритма по ROC кривой используется значение площади под ней (AUC, area under curve). Таким образом идеальный алгоритм имеет AUC равный 1, а плохой — 0,5.