Матрица за объркване в машинното обучение: Вашето решение на едно гише



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

В , обикновено имаме 2 различни типа случаи на употреба, , и проблем. Confusion Matrix помага при изчисляването на точността на класификационния модел, което косвено ни помага да опишем ефективността на класификационния модел. Това е най-важната стъпка, когато става въпрос за оценка на модел. Ще разгледам следните теми в тази статия:

1. Какво е объркана матрица?





2. Точност и компоненти на матрицата за объркване

3. Прецизност, изземване и F-измерване



4. Създаване на матрица за объркване с помощта на Python и Sklearn

Какво е объркана матрица?

Матрицата за объркване е обобщение на сравнението на прогнозираните резултати и действителните резултати във всеки случай на използване на проблем с класификацията. Резюмето за сравнение е изключително необходимо, за да се определи ефективността на модела, след като е обучен с някои данни за обучение. Accuracy-Confusion-MatrixЗа случай на използване на двоична класификация, матрицата за объркване е матрица 2 × 2, както е показано по-долу
Прогнозирана стойност от клас 1 ЕГ: 1 Прогнозирана стойност за клас 2 EG: 0
Действителна стойност от клас 1

ЕГ: 1

TP (истинско положително) FN (фалшиво отрицателно)
Действителна стойност от клас 2



EG: 0

FP (фалшиво положително) TN (истински отрицателен)

От горната фигура:
Ние имаме,

  • Действителна стойност на клас 1 = 1, която е подобна на положителна стойност в двоичен резултат.
  • Действителна стойност на клас 2 = 0, която е подобна на отрицателна стойност в двоичен резултат.

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

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

Положителни (P): Прогнозираният резултат е положителен (Пример: Изображението е котка)

Отрицателно (N): прогнозираният резултат е отрицателен (Пример: Изображенията не са котка)

Истински положителни (TP): Тук TP основно показва предсказаното и действителните стойности са 1 (True)

Истинско отрицателно (TN): Тук TN показва предсказаното и действителната стойност е 0 (False)

Фалшиво отрицателно (FN): Тук FN показва, че предсказаната стойност е 0 (отрицателна), а действителната стойност е 1. Тук и двете стойности не съвпадат. Следователно е фалшиво отрицателно.

Фалшиво положително (FP): Тук FP показва, че предсказаната стойност е 1 (положителна), а действителната стойност е 0. Тук отново и двете стойности не съответстват. Следователно е фалшиво положително.

Точност и компоненти на матрицата за объркване

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

От горната формула сумата от TP (True Positive) и TN (True Negative) са правилните прогнозни резултати. Следователно, за да се изчисли точността в проценти, ние разделяме с всички останали компоненти. Има обаче някои проблеми в точността и не можем да разчитаме напълно от нея.

Нека помислим, че нашият набор от данни е напълно дисбалансиран. В този сценарий 98% точност може да бъде добра или лоша въз основа на изявлението за проблема. Следователно имаме още някои ключови термини, които ще ни помогнат да бъдем сигурни в точността, която изчисляваме. Условията са дадени по-долу:

  • TPR (истинска положителна скорост) или чувствителност:

Истински положителен коефициент, който е известен също като чувствителност, измерва процента на истинските положителни по отношение на общите действителни положителни стойности, който е посочен с (TP + FN)

как да използвам подниза в sql
Прогнозирана стойност от клас 1 ЕГ: 1 Прогнозирана стойност за клас 2 EG: 0 Обща сума
Действителна стойност от клас 1

ЕГ: 1

TP (истинско положително) FN (фалшиво отрицателно) Общо действителни положителни резултати
Действителна стойност от клас 2

EG: 0

FP (фалшиво положително)TN (истински отрицателен)Общо фактически отрицателни
TPR = Вярно положително / (Вярно положително + Фалшиво отрицателно
  • TNR (True Negative Rate) или специфичност:

Истинският отрицателен процент или специфичност измерва дела на действителните негативи по отношение на общите негативи

Прогнозирана стойност от клас 1 ЕГ: 1 Прогнозирана стойност за клас 2 EG: 0 Обща сума
Действителна стойност от клас 1

ЕГ: 1

TP (истинско положително)FN (фалшиво отрицателно)Общо действителни положителни резултати
Действителна стойност от клас 2

EG: 0

FP (фалшиво положително) TN (истински отрицателен) Общо фактически отрицателни

TNR = True Negative / (True Negative + False Positive)

  • Фалшив положителен процент (FPR):

Фалшиво положителен процент е процентът на прогнозирания фалшив положителен резултат (FP) към общия брой на прогнозираните положителни резултати (TP + FP).

Прогнозирана стойност от клас 1 ЕГ: 1 Прогнозирана стойност за клас 2 EG: 0
Действителна стойност от клас 1, напр TP (истинско положително) FN (фалшиво отрицателно)
Действителна стойност от клас 2, напр FP (фалшиво положително) TN (истински отрицателен)
Сума от общо предсказано положително Сума от общо предсказано отрицателно
FPR = фалшиво положително / (вярно положително + фалшиво положително)
  • Фалшив отрицателен процент (FNR):

Фалшив отрицателен процент е процентът на прогнозираното фалшиво отрицателно (FP) към общия брой на прогнозираните отрицателни резултати (TN + FN).

Прогнозирана стойност от клас 1 ЕГ: 1 Прогнозирана стойност за клас 2 EG: 0
Действителна стойност от клас 1, напрTP (истинско положително) FN (фалшиво отрицателно)
Действителна стойност от клас 2, напрFP (фалшиво положително) TN (истински отрицателен)
Сума от общо предсказано положително Сума от общо предсказано отрицателно
FNR = False Negative / (False Negative + True Negative)

Прецизност, изземване и F-мярка

  • Припомням си:

Изземването е подобно на истинската положителна скорост и представлява съотношението между общия брой на правилно предвидените положителни стойности (TP) към всички положителни стойности.

  • Прецизност:

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

Прецизност и извикване са резултати от показатели, които се фокусират върху положителния клас, както е показано от горните формули.

  • F-мярка

Така че F-Measure е техника, която съчетава както техниката Precision и Recall и използва хармонична средна стойност на мястото на обичайната аритметична средна стойност, поради което екстремните стойности се наказват. F-мярката се нарича още F1- резултат и се дава от формулата по-долу.

Нека разгледаме един пример и да видим как можем да изчислим точността, точността, изземването и F1-резултата.

N = 165 Прогнозирано ДА Прогнозирано НЕ
Действително ДА TP = 150 FN = 10
Текущ NO FP = 20 TN = 100
    • Точност = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Извикване = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Прецизност: TP / (TP + FP) = 150 / (150 + 20) = 0,88

Java как да изляза от програма
  • F-мярка = (2 * Извикване * Прецизност) / (Извикване + Презиция) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Създаване на матрица за объркване с помощта на Python и Sklearn

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

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

# Python скрипт за създаване на матрица за объркване. действителни_данни = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] предвидени_данни = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Трябва да импортираме матрицата за объркване от библиотеката sklearn, както е показано по-долу:

от sklearn.metrics внос confusion_matrix

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

final_results = confusion_matrix (действителни_данни, предсказани_данни)

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

от sklearn.metrics импортиране точност_оценка точност = точност_оценка (действителни_данни, предсказани_данни)

5. И накрая, изчисляваме F1-резултата или F-измерването, както е показано по-долу:

от sklearn.metrics импортиране на report_report report = класификация_отчет (действителни_данни, прогнозирани_данни)

По-долу е пълен код:

действителни_данни = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] предвидени_данни = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] от sklearn.metrics импорт confusion_matrix final_results = confusion_matrix (действителни_данни, предсказани_данни) print (final_results) от sklearn.metrics импорт точност_резултат точност = точност_оценка (действителни_данни, предсказани_данни) от sklearn.metrics внос класификация_доклад отчет = класификация_отчет (отчет действителни_данни, прогнозирани_данни) печат (точност) печат (отчет)

matrix

И така, с това стигнахме до края на тази статия. Надявам се, че цялото ви объркване относно матрицата за объркване вече е разрешено.

Edureka’s ви помага да придобиете опит в различни алгоритми за машинно обучение като регресия, клъстериране, дървета за вземане на решения, произволна гора, наивно Bayes и Q-Learning. Това машинно обучение с използване на Python Training ви излага на концепции за статистика, времеви редове и различни класове алгоритми за машинно обучение като контролирани, ненаблюдавани и подсилващи алгоритми. По време на курса за сертифициране на науката за данни ще решавате реални казуси по медии, здравеопазване, социални медии, авиация, човешки ресурси.