Оценка качества в задачах классификации — различия между версиями
Faerytea (обсуждение | вклад) м |
Faerytea (обсуждение | вклад) (Многоклассовая классификация) |
||
Строка 20: | Строка 20: | ||
| style="color: #22aa22;" | TN | | style="color: #22aa22;" | TN | ||
|} | |} | ||
+ | |||
+ | Для многоклассовой классификации матрица несоответствий строится по тому же принципу: | ||
+ | {| class="wikitable" style="text-align: center;" | ||
+ | |- | ||
+ | | Предсказанный класс | ||
+ | ! Класс 1 (C₁) | ||
+ | ! Класс 2 (C₂) | ||
+ | ! Класс 3 (C₃) | ||
+ | |- | ||
+ | ! 1 (P₁) | ||
+ | | style="color: #22aa22;" | T₁ | ||
+ | | style="color: #aa2222;" | F₁₂ | ||
+ | | style="color: #aa2222;" | F₁₃ | ||
+ | |- | ||
+ | ! 2 (P₂) | ||
+ | | style="color: #aa2222;" | F₂₁ | ||
+ | | style="color: #22aa22;" | T₂ | ||
+ | | style="color: #aa2222;" | F₂₃ | ||
+ | |- | ||
+ | ! 3 (P₃) | ||
+ | | style="color: #aa2222;" | F₃₁ | ||
+ | | style="color: #aa2222;" | F₃₂ | ||
+ | | style="color: #22aa22;" | T₃ | ||
+ | |} | ||
+ | В этом случае TP, TN, FP и FN считаются относительно некоторого класса (i) следующим образом: | ||
+ | : <tex>TP_i = T_i</tex> | ||
+ | : <tex>FP_i = \sum\limits_{c \in Classes} F_{i,c}</tex> | ||
+ | : <tex>FN_i = \sum\limits_{c \in Classes} F_{c,i}</tex> | ||
+ | : <tex>TN_i = All - TP_i - FP_i - FN_i</tex> | ||
= Простые оценки = | = Простые оценки = | ||
Строка 32: | Строка 61: | ||
* '''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> | ||
+ | |||
+ | В виду того, что такие оценки никак не учитывают изначальное распределение классов в выборке (что может существенно влиять на полученное значение), так же существуют взвешенные варианты этих оценок (в терминах многоклассовой классификации): | ||
+ | * '''Precision''' | ||
+ | : <tex>Prec_W = \dfrac{\sum\limits_{i = 1}^{N} \dfrac{T_i C_i}{P_i}}{All}</tex> | ||
+ | * '''Recall''' | ||
+ | : <tex>Recall_W = \dfrac{\sum\limits_{i = 1}^{N} T_i}{All}</tex> | ||
= ROC кривая = | = ROC кривая = | ||
Строка 58: | Строка 93: | ||
F<sub>β</sub> измеряет эффективность классификатора учитывая recall в β раз более важным чем precision. | F<sub>β</sub> измеряет эффективность классификатора учитывая recall в β раз более важным чем precision. | ||
+ | |||
+ | Для многоклассовой классификации с учётом изначального распределения по классам имеет смысл рассматривать микро- и макро- F меру: | ||
+ | : <tex>micro F_β = \sum\limits_{c \in Classes} \dfrac{C_c F_β(c)}{All}</tex> | ||
+ | : <tex>macro F_β = (1 + β^2) \dfrac{Prec_W \cdot Recall_W}{β^2 \cdot Prec_W + Recall_W} |
Версия 18:49, 19 апреля 2019
Содержание
Общие понятия
- TP — true positive, классификатор верно отнёс объект к рассматриваемому классу.
- TN — true negative, классификатор верно утверждает, что объект не принадлежит к рассматриваемому классу.
- FP — false positive, классификатор неверно отнёс объект к рассматриваемому классу.
- FN — false negative, классификатор неверно утверждает, что объект не принадлежит к рассматриваемому классу.
Confusion matrix (матрица несоответствий) наглядно показывает суть этих показателей:
Принадлежит классу (P) | Не принадлежит классу (N) | |
---|---|---|
Предсказана принадлежность классу | TP | FP |
Предсказано отсутствие принадлежности к классу | FN | TN |
Для многоклассовой классификации матрица несоответствий строится по тому же принципу:
Предсказанный класс | Класс 1 (C₁) | Класс 2 (C₂) | Класс 3 (C₃) |
---|---|---|---|
1 (P₁) | T₁ | F₁₂ | F₁₃ |
2 (P₂) | F₂₁ | T₂ | F₂₃ |
3 (P₃) | F₃₁ | F₃₂ | T₃ |
В этом случае TP, TN, FP и FN считаются относительно некоторого класса (i) следующим образом:
Простые оценки
- Accuracy (точность), показывает долю правильных классификаций. Несмотря на очевидность и простоту является одной из самых малоинформативных оценок классификаторов.
- Recall (полнота), так же sensitivity и TPR (true positive rate), показывает долю найденных объектов класса к общему числу объектов класса. Иначе говоря то, насколько хорошо наш классификатор находит объекты из класса.
- Precision (да, тоже точность), показывает долю объектов класса среди объектов выделенных классификатором.
- Specificity, показывает долю верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор правильно не относит объекты к классу.
- Fall-out, так же FPR (false positive rate), показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.
В виду того, что такие оценки никак не учитывают изначальное распределение классов в выборке (что может существенно влиять на полученное значение), так же существуют взвешенные варианты этих оценок (в терминах многоклассовой классификации):
- Precision
- Recall
ROC кривая
Для наглядной оценки качества алгоритма применяется ROC кривая. Кривая строится на плоскости, определённой осями полноты (recall, TPR) по вертикали и частоты ложных срабатываний (FPR, 1-Spc).
Чтобы построить кривую:
- Запустить классификатор на тестовой выборке
- Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу
- Пока не кончились элементы:
- Взять объект с максимальной уверенностью
- Сравнить метку с реальной
- Пересчитать TPR и FPR на взятых объектах
- Поставить точку, если обе характеристики не NaN / ±∞
- Построить кривую по точкам
Таким образом число точек не превосходит число объектов, идеальный алгоритм проходит через точку (0;1), худший (например, монетка) — прямая TPR = FPR. Для численной же оценки алгоритма по ROC кривой используется значение площади под ней (AUC, area under curve). Таким образом идеальный алгоритм имеет AUC равный 1, а плохой — 0,5.
F₁ score
Для общей оценки качества классификатора часто используют F₁ меру — среднее гармоническое между precision и recall:
F₁ мера так же может быть обобщена до Fβ:
Fβ измеряет эффективность классификатора учитывая recall в β раз более важным чем precision.
Для многоклассовой классификации с учётом изначального распределения по классам имеет смысл рассматривать микро- и макро- F меру:
- <tex>macro F_β = (1 + β^2) \dfrac{Prec_W \cdot Recall_W}{β^2 \cdot Prec_W + Recall_W}