Разбиране на показателите за оценка накратко чрез „прецизно припомняне“ на основите.

За всеки амбициозен инженер по машинно обучение или учен по данни термини като прецизност, припомняне или резултат f-1 понякога са трудни за разбиране в началото. Въпреки че това са важни показатели за изчисляване за всеки модел на класификация/регресия, човек трябва да знае какво представляват тези показатели и кога да подобри единия или и двата от тях.

Срещал съм много полуизпечени обяснения за тези показатели, които по-често подвеждат читателите. В този блог ще се опитам да ги изясня, доколкото мога.

За всеки модел на класификация е важно да се постигне това, което наричаме „добро“ съответствие. Това означава, че нашият модел трябва да има добър баланс между прекалено и недостатъчно оборудване. Този баланс е това, което наричаме компромис отклонение-вариация. Има още един компромис, който много пъти се пренебрегва и това е компромисът за прецизно извикване. Преди да започнем да разбираме какво е това, бих искал да разберете защо компромисът с отклонение е от решаващо значение за всеки даден модел.

Знаем, че целта на всеки контролиран алгоритъм за машинно обучение е да генерира прогнози, толкова близки до основната истина, въз основа на моделите, наблюдавани във входните променливи (X). Сега грешката при прогнозиране може да се категоризира на три части:

  1. Пристрастие
  2. Дисперсия
  3. Шум или нередуцируема грешка

Нередуцируемата грешка, както подсказва името, е грешка, която не можем да елиминираме. Другите две обаче можем. Накратко, пристрастие се въвежда, когато опростен модел прави обобщения или предположения, когато се обучава върху входните променливи. С други думи, моделът не се учи много добре и води до това, което се нарича „Недостатъчно приспособяване“.

Разлика от друга страна възниква, когато направим нашия модел твърде сложен, за да се опита да научи най-сложните модели и когато се тества върху невидими данни, той се представя зле. Обикновено, тъй като увеличаваме сложността на нашия модел, можем да намалим грешката поради ниското отклонение, но само до определен момент, след което нашият модел се пренастройва и следователно ще страда от грешка с голяма дисперсия.

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

Връщайки се към прецизността и припомнянето, вярвам, че най-добрият начин да разберете всяка концепция в машинното обучение е като я приложите. Така че нека се включим веднага!

Оцеляване на пътниците от Титаник

Това е един от най-известните и набор от данни за начинаещи за всеки, който започва своето пътуване с машинно обучение. Наборът от данни е лесно достъпен „тук“. Това включва двоична класификация на пътниците като оцелели или неоцелели въз основа на даден набор от параметри.

След като направих всички видове анализ на данни и инженеринг на функции, в крайна сметка получих данните със следната форма:

Забележка: Данните от X_test всъщност са тестовите данни от Kaggle, които трябва да бъдат изпратени с прогнозирани стойности. За валидиране разделих данните от X_train и окончателните данни, върху които да изградя модел, изглеждаха така:

След изпробване на различни методи класификаторът на случайни гори даде най-добри резултати и за да проверим дали този модел всъщност е добър модел или не, ние отпечатваме матрицата на объркването.

Матрицата на объркването помага да се оцени точността на нашата класификация и да се види колко добре нашите прогнози се съпоставят с действителните стойности. Знаем, че действителният брой стойности в нашите данни за валидиране е 60, което може да се види в таблицата по-горе. Нека да разгледаме точките по-долу, за да разберем какво предава тази матрица на объркване:

  1. Действителните стойности, категоризирани като 1(оцелял) и 0(неоцелял), са съответно 22 и 38.
  2. Стойностите, които нашият модел прогнозира като 1 и 0, са съответно 20 и 40.
  3. Всяка от 4-те стойности, т.е. 35,3,5 и 17, представлява нещо решаващо. Нека разберем това.
    a. Случаите, в които пътниците действително не са оцелели и нашият модел също е предвидил същото, се наричат ​​Истински негативи. Тук е 35.
    b. Случаите, при които пътниците всъщност не са оцелели, но нашият модел ги е предвидил като оцелели, се наричат ​​Грешни положителни резултати,наричани още грешка тип 1 .Тук е 3.
    c. Случаите, при които пътниците наистина са оцелели и нашият модел също ги е предвидил като оцелели, се наричат ​​Истински положителни резултати. Тук броят на истинските положителни резултати е 17.
    d. Случаите, при които пътниците действително са оцелели, но нашият модел е предвидил, че не са, се наричат ​​Фалшиви отрицателни резултати . Това също се нарича грешка от тип 2, а тук е 5.

Прецизност и припомняне

Сега, стигайки до същината на блога, какво всъщност е прецизността и припомнете си какво общо имат изчислените по-горе стойности с нея.

Прецизност:TP / (TP + FP)

Наричани още положителни прогнозирани стойности е частта от съответните екземпляри сред извлечените екземпляри. Казано по-просто, това е съотношението между истински положителни резултати и всички положителни резултати.

Извикване: TP / (TP + FN)

Наричана още чувствителност или истински положителен процент е частта от съответните екземпляри, които са били извлечени. Което означава, че това е съотношението между истински положителни резултати и всички действителни положителни резултати.

За нашия модел прецизността и припомнянето излизат съответно 0,85и 0,77. Въпреки че тези стойности могат да бъдат генерирани и чрез модула за показатели на skelarn.

Точност:TP + TN / (TP + TN + FP + FN)

Вероятно най-простият от показателите, точността е мярката за това колко наблюдения нашият модел е предсказал правилно. Това е съотношението на правилните прогнози към общия брой прогнози. Използването на точността като определяща метрика за всеки модел може да не винаги е правилно, тъй като повечето набори от данни са небалансирани. В такива случаи нашите основни показатели трябва да бъдат прецизност и припомняне. И отново, изборът на прецизност или припомняне зависи от целта на нашия модел.

Като казахме това, може да искаме да подобрим някой от двата показателя въз основа на това, което изисква формулировката на проблема. Нека вземем примера, при който модел извършва скрининг на някакво заболяване, ние бихме искали броят на фалшивите отрицателни резултати да е възможно най-нисък, което от своя страна прави припомнянето да клони към 1,0, следователно стремежът към високо припомняне е необходимо, така че всеки пациент, който действително има болестта не остава нелекувана. Би било наистина добре, ако някой, който е здрав, бъде класифициран като болен, тъй като това може да бъде потвърдено след допълнителни медицински прегледи. По-добре да се предпазим, отколкото да съжаляваме, нали!?

От друга страна, ако нашият модел класифицира клиент на банка като потенциален неизпълнител или не, ние ще се стремим към висока точност, защото нашият модел ще има по-нисък фалшив положителен резултат и банката не би искала да загуби клиент, защото той/тя беше прогнозиран като неизпълнител.

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

Винаги обаче има някои ситуации, в които се нуждаем от оптимална комбинация между прецизност и припомняне. (Не забравяйте, че казах преди, че има друг компромис, който се пренебрегва) Тъй като знаем, че фокусирането върху едното означава пренебрегване на другото, намираме добър компромис, използвайки това, което наричаме резултат F-1.

Резултатът F-1 е средната хармонична стойност на прецизност и припомняне и се изчислява като: 2 * ((Прецизност * Припомняне) / (Прецизност + Припомняне)). Ние не усредняваме, защото хармоничната средна наказва екстремни стойности. Например, модел с точност от 1,0 и извикване от 0,0 би имал средно 0,5, но хармонично средно 0, тъй като и на двата показателя се дава еднаква тежест. Това е пример за Fβ метрика, при която β може да се коригира, за да даде специфични тегла или за припомняне, или за прецизност, но най-вече се използва F-1 оценка/хармонична средна стойност.

Добрият резултат F-1 би бил показател за добра прецизност и припомняне, което означава, че прогнозите на нашия модел са предимно верни.

Заключение:Всеки разбира защо трябва да оценяваме моделите, но точността не трябва да бъде основният показател. Когато разглеждаме проблем, ние също трябва да търсим най-добрия показател, за да оценим нашата работа; става въпрос за познаване на правилните инструменти за работа. Познаването на правилната метрика за използване става много по-важно при проблеми, които имат небалансирани данни, което е почти винаги, защото човек не може просто да приеме, че моделът е добър въз основа на добра точност. Във връзка с това има методи за визуализиране на прецизност и припомняне, като ROC крива, крива на прецизност и припомняне, AUC и т.н., но повече за това в предстоящ блог.