Лого на 91. НЕГ „Проф. Константин Гълъбов“

Избираем модул · Урок 6

Оценяване на модел

Точност, объркваща матрица, прецизност и обхват. Защо при рядко събитие 99% точност може да означава напълно безполезен модел.

Едно число не стига

В урок 1 измерихме филтъра с една мярка — процент познати. Тя е най-естествената и най-подвеждащата.

Точност (accuracy)

Делът на познатите примери от всички: познати / общо.

Класическият пример

Правим модел за рядко заболяване, което имат 1 от 100 души. Пишем модел, който винаги отговаря „здрав“ — без никакво обучение. Точност: 99%. Полза: нула. Той не открива нито един болен.

Проблемът е, че точността слива два съвсем различни вида грешка. Трябва ни начин да ги видим поотделно.

Объркващата матрица

Всяко предсказание попада в едно от четири квадратчета: моделът е казал „да“ или „не“, а истината е била „да“ или „не“.

предсказано от моделаспамнормалноистинаспамнормалноВярно положителниTP = 40Грешно отрицателниFN = 10Грешно положителниFP = 30Вярно отрицателниTN = 920Общо 1000 съобщения, от които 50 наистина са спам.
Спам филтър, пуснат върху 1000 съобщения. Точността е (40 + 920) / 1000 = 96%.
ОзначениеИмеКакво се е случило
TPвярно положителенспам, разпознат като спам
FPгрешно положителеннормално писмо, обявено за спам
FNгрешно отрицателенспам, пропуснат в пощата
TNвярно отрицателеннормално писмо, оставено на мира

Двете грешки не са еднакво страшни

FP при спам филтър означава, че писмото от работодателя ви отива в кошчето. FN означава, че в пощата ви влиза реклама. За медицински тест е точно обратното: пропуснатият болен (FN) е много по-скъпа грешка от излишното изследване (FP).

Прецизност и обхват

Прецизност (precision)

От всичко, което моделът е обявил за спам, каква част наистина е спам: TP / (TP + FP). Отговаря на въпроса „когато каже да, вярно ли е“.

Обхват (recall)

От целия истински спам, каква част моделът е хванал: TP / (TP + FN). Отговаря на въпроса „изпуска ли“.

За матрицата по-горе: прецизност = 40 / (40 + 30) = 0.57, обхват = 40 / (40 + 10) = 0.80. Тоест филтърът хваща 80% от спама, но почти половината от маркираните писма всъщност не са спам. Точността 96% не показваше нищо от това.

Двете винаги се дърпат

Ако вдигнем прага и обявяваме за спам само това, в което сме много уверени, прецизността расте, а обхватът пада — пропускаме повече спам. Ако свалим прага, става обратното. Не съществува настройка, която подобрява и двете; изборът зависи от цената на всяка грешка.

Когато трябва едно число, което съчетава двете, се използва F1 — вид средно между прецизност и обхват, което е високо само когато и двете са високи.

Как се докладва честно

  • Каква част от данните е от рядкия клас — без това точността е неразбираема.
  • Точност, прецизност и обхват, а не само едното.
  • Върху какви данни е измерено — задължително такива, които моделът не е виждал при обучението (урок 7).
  • Кой праг е използван и защо.
  • Кои са най-честите грешки — един пример от всеки вид.

Правило за четене на новини

„Модел с 97% точност открива Х“ не означава нищо, докато не се знае колко често се среща Х. Ако Х се среща в 3% от случаите, моделът, който винаги казва „не“, също има 97%.