В , обикновено имаме 2 различни типа случаи на употреба, , и проблем. Confusion Matrix помага при изчисляването на точността на класификационния модел, което косвено ни помага да опишем ефективността на класификационния модел. Това е най-важната стъпка, когато става въпрос за оценка на модел. Ще разгледам следните теми в тази статия:
2. Точност и компоненти на матрицата за объркване
3. Прецизност, изземване и F-измерване
4. Създаване на матрица за объркване с помощта на Python и Sklearn
Какво е объркана матрица?
Матрицата за объркване е обобщение на сравнението на прогнозираните резултати и действителните резултати във всеки случай на използване на проблем с класификацията. Резюмето за сравнение е изключително необходимо, за да се определи ефективността на модела, след като е обучен с някои данни за обучение. За случай на използване на двоична класификация, матрицата за объркване е матрица 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 (истински отрицателен) | Общо фактически отрицателни |
- 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 (истински отрицателен) |
Сума от общо предсказано положително | Сума от общо предсказано отрицателно |
- Фалшив отрицателен процент (FNR):
Фалшив отрицателен процент е процентът на прогнозираното фалшиво отрицателно (FP) към общия брой на прогнозираните отрицателни резултати (TN + FN).
Прецизност, изземване и 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 внос класификация_доклад отчет = класификация_отчет (отчет действителни_данни, прогнозирани_данни) печат (точност) печат (отчет)
И така, с това стигнахме до края на тази статия. Надявам се, че цялото ви объркване относно матрицата за объркване вече е разрешено.
Edureka’s ви помага да придобиете опит в различни алгоритми за машинно обучение като регресия, клъстериране, дървета за вземане на решения, произволна гора, наивно Bayes и Q-Learning. Това машинно обучение с използване на Python Training ви излага на концепции за статистика, времеви редове и различни класове алгоритми за машинно обучение като контролирани, ненаблюдавани и подсилващи алгоритми. По време на курса за сертифициране на науката за данни ще решавате реални казуси по медии, здравеопазване, социални медии, авиация, човешки ресурси.