<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=5.18.249.104&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=5.18.249.104&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/5.18.249.104"/>
		<updated>2026-04-13T14:41:35Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B2_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D1%85_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8&amp;diff=75045</id>
		<title>Оценка качества в задачах классификации</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B2_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D1%85_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8&amp;diff=75045"/>
				<updated>2020-09-22T14:40:47Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.249.104: /* F₁ score */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общие понятия =&lt;br /&gt;
* '''TP''' — true positive, классификатор верно отнёс объект к рассматриваемому классу.&lt;br /&gt;
* '''TN''' — true negative, классификатор верно утверждает, что объект не принадлежит к рассматриваемому классу.&lt;br /&gt;
* '''FP''' — false positive, классификатор неверно отнёс объект к рассматриваемому классу.&lt;br /&gt;
* '''FN''' — false negative, классификатор неверно утверждает, что объект не принадлежит к рассматриваемому классу.&lt;br /&gt;
&lt;br /&gt;
'''Confusion matrix''' ('''матрица несоответствий''') наглядно показывает суть этих показателей:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
! Принадлежит классу (P)&lt;br /&gt;
! Не принадлежит классу (N)&lt;br /&gt;
|-&lt;br /&gt;
! Предсказана принадлежность классу&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | TP&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | FP&lt;br /&gt;
|-&lt;br /&gt;
! Предсказано отсутствие принадлежности к классу&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | FN&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | TN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для многоклассовой классификации матрица несоответствий строится по тому же принципу:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Предсказанный класс&lt;br /&gt;
! Класс 1 (C₁)&lt;br /&gt;
! Класс 2 (C₂)&lt;br /&gt;
! Класс 3 (C₃)&lt;br /&gt;
|-&lt;br /&gt;
! 1 (P₁)&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₁&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₁₂&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₁₃&lt;br /&gt;
|-&lt;br /&gt;
! 2 (P₂)&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₂₁&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₂&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₂₃&lt;br /&gt;
|-&lt;br /&gt;
! 3 (P₃)&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₃₁&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₃₂&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₃&lt;br /&gt;
|}&lt;br /&gt;
В этом случае TP, TN, FP и FN считаются относительно некоторого класса (i) следующим образом:&lt;br /&gt;
: &amp;lt;tex&amp;gt;TP_i = T_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;FP_i = \sum\limits_{c \in Classes} F_{i,c}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;FN_i = \sum\limits_{c \in Classes} F_{c,i}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;TN_i = All - TP_i - FP_i - FN_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Простые оценки =&lt;br /&gt;
* '''Accuracy''' (точность), показывает долю правильных классификаций. Несмотря на очевидность и простоту является одной из самых малоинформативных оценок классификаторов.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Acc = \dfrac{TP + TN}{TP + TN + FP + FN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Recall''' (полнота), так же '''sensitivity''' и '''TPR''' (true positive rate), показывает долю найденных объектов класса к общему числу объектов класса. Иначе говоря то, насколько хорошо наш классификатор находит объекты из класса.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Recall = \dfrac{TP}{TP + FN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Precision''' (да, тоже точность), показывает долю объектов класса среди объектов выделенных классификатором.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Prec = \dfrac{TP}{TP + FP}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Specificity''', показывает долю верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор правильно '''не''' относит объекты к классу.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Spc = \dfrac{TN}{FP + TN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Fall-out''', так же '''FPR''' (false positive rate), показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.&lt;br /&gt;
: &amp;lt;tex&amp;gt;FPR = \dfrac{FP}{FP + TN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В виду того, что такие оценки никак не учитывают изначальное распределение классов в выборке (что может существенно влиять на полученное значение), так же существуют взвешенные варианты этих оценок (в терминах многоклассовой классификации):&lt;br /&gt;
* '''Precision'''&lt;br /&gt;
: &amp;lt;tex&amp;gt;Prec_W = \dfrac{\sum\limits_{i = 1}^{N} \dfrac{T_i P_i}{C_i}}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Recall'''&lt;br /&gt;
: &amp;lt;tex&amp;gt;Recall_W = \dfrac{\sum\limits_{i = 1}^{N} T_i}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ROC кривая =&lt;br /&gt;
[[Файл:ROC.png|thumb|300px|ROC кривая; оранжевым показан идеальный алгоритм, фиолетовым — типичный, а синим — худший]]&lt;br /&gt;
&lt;br /&gt;
Для наглядной оценки качества алгоритма применяется [https://en.wikipedia.org/wiki/Receiver_operating_characteristic ROC кривая]. Кривая строится на плоскости, определённой осями полноты (recall, TPR) по вертикали и частоты ложных срабатываний (FPR, 1-Spc). &lt;br /&gt;
&lt;br /&gt;
Чтобы построить кривую:&lt;br /&gt;
# Запустить классификатор на тестовой выборке&lt;br /&gt;
# Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу&lt;br /&gt;
# Пока не кончились элементы:&lt;br /&gt;
## Взять объект с максимальной уверенностью&lt;br /&gt;
## Сравнить метку с реальной&lt;br /&gt;
## Пересчитать TPR и FPR на взятых объектах&lt;br /&gt;
## Поставить точку, если обе характеристики не NaN / ±∞&lt;br /&gt;
# Построить кривую по точкам&lt;br /&gt;
&lt;br /&gt;
Таким образом число точек не превосходит число объектов, идеальный алгоритм проходит через точку (0;1), худший (например, монетка) — прямая TPR = FPR.&lt;br /&gt;
Для численной же оценки алгоритма по ROC кривой используется значение площади под ней ('''AUC''', area under curve). Таким образом идеальный алгоритм имеет AUC равный 1, а плохой — 0,5.&lt;br /&gt;
= F₁ score =&lt;br /&gt;
Для общей оценки качества классификатора часто используют F₁ меру — среднее гармоническое между precision и recall:&lt;br /&gt;
: &amp;lt;tex&amp;gt;F_1 = \left ( \dfrac{Prec^{-1} + Recall^{-1}}{2} \right )^{-1} = 2 \cdot \dfrac{Prec \cdot Recall}{β^2 \cdot Prec + Recall}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F₁ мера так же может быть обобщена до F&amp;lt;sub&amp;gt;β&amp;lt;/sub&amp;gt;:&lt;br /&gt;
: &amp;lt;tex&amp;gt;F_β = (1 + β^2) \dfrac{Prec \cdot Recall}{β^2 \cdot Prec + Recall}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;lt;sub&amp;gt;β&amp;lt;/sub&amp;gt; измеряет эффективность классификатора учитывая recall в β раз более важным чем precision.&lt;br /&gt;
&lt;br /&gt;
Для многоклассовой классификации с учётом изначального распределения по классам имеет смысл рассматривать микро- и макро- F меру:&lt;br /&gt;
: &amp;lt;tex&amp;gt;micro F_β = \sum\limits_{c \in Classes} \dfrac{P_c F_β(c)}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;macro F_β = (1 + β^2) \dfrac{Prec_W \cdot Recall_W}{β^2 \cdot Prec_W + Recall_W}&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.18.249.104</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B2_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D1%85_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8&amp;diff=75044</id>
		<title>Оценка качества в задачах классификации</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B2_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D1%85_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8&amp;diff=75044"/>
				<updated>2020-09-22T14:40:26Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.249.104: /* F₁ score */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общие понятия =&lt;br /&gt;
* '''TP''' — true positive, классификатор верно отнёс объект к рассматриваемому классу.&lt;br /&gt;
* '''TN''' — true negative, классификатор верно утверждает, что объект не принадлежит к рассматриваемому классу.&lt;br /&gt;
* '''FP''' — false positive, классификатор неверно отнёс объект к рассматриваемому классу.&lt;br /&gt;
* '''FN''' — false negative, классификатор неверно утверждает, что объект не принадлежит к рассматриваемому классу.&lt;br /&gt;
&lt;br /&gt;
'''Confusion matrix''' ('''матрица несоответствий''') наглядно показывает суть этих показателей:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
! Принадлежит классу (P)&lt;br /&gt;
! Не принадлежит классу (N)&lt;br /&gt;
|-&lt;br /&gt;
! Предсказана принадлежность классу&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | TP&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | FP&lt;br /&gt;
|-&lt;br /&gt;
! Предсказано отсутствие принадлежности к классу&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | FN&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | TN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для многоклассовой классификации матрица несоответствий строится по тому же принципу:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Предсказанный класс&lt;br /&gt;
! Класс 1 (C₁)&lt;br /&gt;
! Класс 2 (C₂)&lt;br /&gt;
! Класс 3 (C₃)&lt;br /&gt;
|-&lt;br /&gt;
! 1 (P₁)&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₁&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₁₂&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₁₃&lt;br /&gt;
|-&lt;br /&gt;
! 2 (P₂)&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₂₁&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₂&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₂₃&lt;br /&gt;
|-&lt;br /&gt;
! 3 (P₃)&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₃₁&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₃₂&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₃&lt;br /&gt;
|}&lt;br /&gt;
В этом случае TP, TN, FP и FN считаются относительно некоторого класса (i) следующим образом:&lt;br /&gt;
: &amp;lt;tex&amp;gt;TP_i = T_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;FP_i = \sum\limits_{c \in Classes} F_{i,c}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;FN_i = \sum\limits_{c \in Classes} F_{c,i}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;TN_i = All - TP_i - FP_i - FN_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Простые оценки =&lt;br /&gt;
* '''Accuracy''' (точность), показывает долю правильных классификаций. Несмотря на очевидность и простоту является одной из самых малоинформативных оценок классификаторов.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Acc = \dfrac{TP + TN}{TP + TN + FP + FN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Recall''' (полнота), так же '''sensitivity''' и '''TPR''' (true positive rate), показывает долю найденных объектов класса к общему числу объектов класса. Иначе говоря то, насколько хорошо наш классификатор находит объекты из класса.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Recall = \dfrac{TP}{TP + FN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Precision''' (да, тоже точность), показывает долю объектов класса среди объектов выделенных классификатором.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Prec = \dfrac{TP}{TP + FP}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Specificity''', показывает долю верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор правильно '''не''' относит объекты к классу.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Spc = \dfrac{TN}{FP + TN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Fall-out''', так же '''FPR''' (false positive rate), показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.&lt;br /&gt;
: &amp;lt;tex&amp;gt;FPR = \dfrac{FP}{FP + TN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В виду того, что такие оценки никак не учитывают изначальное распределение классов в выборке (что может существенно влиять на полученное значение), так же существуют взвешенные варианты этих оценок (в терминах многоклассовой классификации):&lt;br /&gt;
* '''Precision'''&lt;br /&gt;
: &amp;lt;tex&amp;gt;Prec_W = \dfrac{\sum\limits_{i = 1}^{N} \dfrac{T_i P_i}{C_i}}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Recall'''&lt;br /&gt;
: &amp;lt;tex&amp;gt;Recall_W = \dfrac{\sum\limits_{i = 1}^{N} T_i}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ROC кривая =&lt;br /&gt;
[[Файл:ROC.png|thumb|300px|ROC кривая; оранжевым показан идеальный алгоритм, фиолетовым — типичный, а синим — худший]]&lt;br /&gt;
&lt;br /&gt;
Для наглядной оценки качества алгоритма применяется [https://en.wikipedia.org/wiki/Receiver_operating_characteristic ROC кривая]. Кривая строится на плоскости, определённой осями полноты (recall, TPR) по вертикали и частоты ложных срабатываний (FPR, 1-Spc). &lt;br /&gt;
&lt;br /&gt;
Чтобы построить кривую:&lt;br /&gt;
# Запустить классификатор на тестовой выборке&lt;br /&gt;
# Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу&lt;br /&gt;
# Пока не кончились элементы:&lt;br /&gt;
## Взять объект с максимальной уверенностью&lt;br /&gt;
## Сравнить метку с реальной&lt;br /&gt;
## Пересчитать TPR и FPR на взятых объектах&lt;br /&gt;
## Поставить точку, если обе характеристики не NaN / ±∞&lt;br /&gt;
# Построить кривую по точкам&lt;br /&gt;
&lt;br /&gt;
Таким образом число точек не превосходит число объектов, идеальный алгоритм проходит через точку (0;1), худший (например, монетка) — прямая TPR = FPR.&lt;br /&gt;
Для численной же оценки алгоритма по ROC кривой используется значение площади под ней ('''AUC''', area under curve). Таким образом идеальный алгоритм имеет AUC равный 1, а плохой — 0,5.&lt;br /&gt;
= F₁ score =&lt;br /&gt;
Для общей оценки качества классификатора часто используют F₁ меру — среднее гармоническое между precision и recall:&lt;br /&gt;
: &amp;lt;tex&amp;gt;F_1 = \left ( \dfrac{Prec^{-1} + Recall^{-1}}{2} \right )^{-1} = 2 \cdot \dfrac{Prec \cdot Recall}{β^2 \cdot Prec + Recall}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F₁ мера так же может быть обобщена до F&amp;lt;sub&amp;gt;β&amp;lt;/sub&amp;gt;:&lt;br /&gt;
: &amp;lt;tex&amp;gt;F_β = (1 + β^2) \dfrac{Prec \cdot Recall}{β^2 \cdot Prec + Recall}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;lt;sub&amp;gt;β&amp;lt;/sub&amp;gt; измеряет эффективность классификатора учитывая recall в β раз более важным чем precision.&lt;br /&gt;
&lt;br /&gt;
Для многоклассовой классификации с учётом изначального распределения по классам имеет смысл рассматривать микро- и макро- F меру:&lt;br /&gt;
: &amp;lt;tex&amp;gt;micro F_β = \sum\limits_{c \in Classes} \dfrac{P_i F_β(c)}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;macro F_β = (1 + β^2) \dfrac{Prec_W \cdot Recall_W}{β^2 \cdot Prec_W + Recall_W}&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.18.249.104</name></author>	</entry>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B2_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D1%85_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8&amp;diff=75043</id>
		<title>Оценка качества в задачах классификации</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9E%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B2_%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0%D1%85_%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8&amp;diff=75043"/>
				<updated>2020-09-22T14:39:52Z</updated>
		
		<summary type="html">&lt;p&gt;5.18.249.104: /* Простые оценки */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Общие понятия =&lt;br /&gt;
* '''TP''' — true positive, классификатор верно отнёс объект к рассматриваемому классу.&lt;br /&gt;
* '''TN''' — true negative, классификатор верно утверждает, что объект не принадлежит к рассматриваемому классу.&lt;br /&gt;
* '''FP''' — false positive, классификатор неверно отнёс объект к рассматриваемому классу.&lt;br /&gt;
* '''FN''' — false negative, классификатор неверно утверждает, что объект не принадлежит к рассматриваемому классу.&lt;br /&gt;
&lt;br /&gt;
'''Confusion matrix''' ('''матрица несоответствий''') наглядно показывает суть этих показателей:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
! Принадлежит классу (P)&lt;br /&gt;
! Не принадлежит классу (N)&lt;br /&gt;
|-&lt;br /&gt;
! Предсказана принадлежность классу&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | TP&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | FP&lt;br /&gt;
|-&lt;br /&gt;
! Предсказано отсутствие принадлежности к классу&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | FN&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | TN&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для многоклассовой классификации матрица несоответствий строится по тому же принципу:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align: center;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Предсказанный класс&lt;br /&gt;
! Класс 1 (C₁)&lt;br /&gt;
! Класс 2 (C₂)&lt;br /&gt;
! Класс 3 (C₃)&lt;br /&gt;
|-&lt;br /&gt;
! 1 (P₁)&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₁&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₁₂&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₁₃&lt;br /&gt;
|-&lt;br /&gt;
! 2 (P₂)&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₂₁&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₂&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₂₃&lt;br /&gt;
|-&lt;br /&gt;
! 3 (P₃)&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₃₁&lt;br /&gt;
| style=&amp;quot;color: #aa2222;&amp;quot; | F₃₂&lt;br /&gt;
| style=&amp;quot;color: #22aa22;&amp;quot; | T₃&lt;br /&gt;
|}&lt;br /&gt;
В этом случае TP, TN, FP и FN считаются относительно некоторого класса (i) следующим образом:&lt;br /&gt;
: &amp;lt;tex&amp;gt;TP_i = T_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;FP_i = \sum\limits_{c \in Classes} F_{i,c}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;FN_i = \sum\limits_{c \in Classes} F_{c,i}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;TN_i = All - TP_i - FP_i - FN_i&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Простые оценки =&lt;br /&gt;
* '''Accuracy''' (точность), показывает долю правильных классификаций. Несмотря на очевидность и простоту является одной из самых малоинформативных оценок классификаторов.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Acc = \dfrac{TP + TN}{TP + TN + FP + FN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Recall''' (полнота), так же '''sensitivity''' и '''TPR''' (true positive rate), показывает долю найденных объектов класса к общему числу объектов класса. Иначе говоря то, насколько хорошо наш классификатор находит объекты из класса.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Recall = \dfrac{TP}{TP + FN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Precision''' (да, тоже точность), показывает долю объектов класса среди объектов выделенных классификатором.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Prec = \dfrac{TP}{TP + FP}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Specificity''', показывает долю верных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор правильно '''не''' относит объекты к классу.&lt;br /&gt;
: &amp;lt;tex&amp;gt;Spc = \dfrac{TN}{FP + TN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Fall-out''', так же '''FPR''' (false positive rate), показывает долю неверных срабатываний классификатора к общему числу объектов за пределами класса. Иначе говоря то, насколько часто классификатор ошибается при отнесении того или иного объекта к классу.&lt;br /&gt;
: &amp;lt;tex&amp;gt;FPR = \dfrac{FP}{FP + TN}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
В виду того, что такие оценки никак не учитывают изначальное распределение классов в выборке (что может существенно влиять на полученное значение), так же существуют взвешенные варианты этих оценок (в терминах многоклассовой классификации):&lt;br /&gt;
* '''Precision'''&lt;br /&gt;
: &amp;lt;tex&amp;gt;Prec_W = \dfrac{\sum\limits_{i = 1}^{N} \dfrac{T_i P_i}{C_i}}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
* '''Recall'''&lt;br /&gt;
: &amp;lt;tex&amp;gt;Recall_W = \dfrac{\sum\limits_{i = 1}^{N} T_i}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= ROC кривая =&lt;br /&gt;
[[Файл:ROC.png|thumb|300px|ROC кривая; оранжевым показан идеальный алгоритм, фиолетовым — типичный, а синим — худший]]&lt;br /&gt;
&lt;br /&gt;
Для наглядной оценки качества алгоритма применяется [https://en.wikipedia.org/wiki/Receiver_operating_characteristic ROC кривая]. Кривая строится на плоскости, определённой осями полноты (recall, TPR) по вертикали и частоты ложных срабатываний (FPR, 1-Spc). &lt;br /&gt;
&lt;br /&gt;
Чтобы построить кривую:&lt;br /&gt;
# Запустить классификатор на тестовой выборке&lt;br /&gt;
# Отсортировать результаты по уверенности классификатора в принадлежности объекта к классу&lt;br /&gt;
# Пока не кончились элементы:&lt;br /&gt;
## Взять объект с максимальной уверенностью&lt;br /&gt;
## Сравнить метку с реальной&lt;br /&gt;
## Пересчитать TPR и FPR на взятых объектах&lt;br /&gt;
## Поставить точку, если обе характеристики не NaN / ±∞&lt;br /&gt;
# Построить кривую по точкам&lt;br /&gt;
&lt;br /&gt;
Таким образом число точек не превосходит число объектов, идеальный алгоритм проходит через точку (0;1), худший (например, монетка) — прямая TPR = FPR.&lt;br /&gt;
Для численной же оценки алгоритма по ROC кривой используется значение площади под ней ('''AUC''', area under curve). Таким образом идеальный алгоритм имеет AUC равный 1, а плохой — 0,5.&lt;br /&gt;
= F₁ score =&lt;br /&gt;
Для общей оценки качества классификатора часто используют F₁ меру — среднее гармоническое между precision и recall:&lt;br /&gt;
: &amp;lt;tex&amp;gt;F_1 = \left ( \dfrac{Prec^{-1} + Recall^{-1}}{2} \right )^{-1} = 2 \cdot \dfrac{Prec \cdot Recall}{β^2 \cdot Prec + Recall}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F₁ мера так же может быть обобщена до F&amp;lt;sub&amp;gt;β&amp;lt;/sub&amp;gt;:&lt;br /&gt;
: &amp;lt;tex&amp;gt;F_β = (1 + β^2) \dfrac{Prec \cdot Recall}{β^2 \cdot Prec + Recall}&amp;lt;/tex&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F&amp;lt;sub&amp;gt;β&amp;lt;/sub&amp;gt; измеряет эффективность классификатора учитывая recall в β раз более важным чем precision.&lt;br /&gt;
&lt;br /&gt;
Для многоклассовой классификации с учётом изначального распределения по классам имеет смысл рассматривать микро- и макро- F меру:&lt;br /&gt;
: &amp;lt;tex&amp;gt;micro F_β = \sum\limits_{c \in Classes} \dfrac{C_c F_β(c)}{All}&amp;lt;/tex&amp;gt;&lt;br /&gt;
: &amp;lt;tex&amp;gt;macro F_β = (1 + β^2) \dfrac{Prec_W \cdot Recall_W}{β^2 \cdot Prec_W + Recall_W}&amp;lt;/tex&amp;gt;&lt;/div&gt;</summary>
		<author><name>5.18.249.104</name></author>	</entry>

	</feed>