Оценка качества в задачах классификации — различия между версиями
Faerytea (обсуждение | вклад) (→Простые оценки) |
Faerytea (обсуждение | вклад) (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 (точность), показывает долю правильных классификаций. Несмотря на очевидность и простоту является одной из самых малоинформативных оценок классификаторов.
- Recall (полнота), так же sensitivity и TPR (true positive rate), показывает долю найденных объектов класса к общему числу объектов класса. Иначе говоря то, насколько хорошо наш классификатор находит объекты из класса.
- Precision (да, тоже точность), показывает долю объектов класса среди объектов выделенных классификатором.
- Specificity, показывает долю верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор правильно не относит объекты к классу.
- Fall-out, так же FPR (false positive rate), показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.
ROC кривая
Для наглядной оценки качества алгоритма применяется ROC кривая. Кривая строится на плоскости, определённой осями полноты (recall, TPR) по вертикали и частоты ложных срабатываний (FPR, 1-Spc).
Чтобы построить кривую:
- Запустить классификатор на тестовой выборке
- Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу
- Пока не кончились элементы:
- Взять объект с максимальной уверенностью
- Сравнить метку с реальной
- Пересчитать TPR и FPR на взятых объектах
- Поставить точку, если обе характеристики не NaN / ±∞
- Построить кривую по точкам
Таким образом число точек не превосходит число объектов, идеальный алгоритм проходит через точку (0;1), худший (например, монетка) — прямая TPR = FPR. Для численной же оценки алгоритма по ROC кривой используется значение площади под ней (AUC, area under curve). Таким образом идеальный алгоритм имеет AUC равный 1, а плохой — 0,5.