v , obvykle máme 2 různé typy případů použití, , a problém. Confusion Matrix pomáhá při výpočtu přesnosti klasifikačního modelu, což nám nepřímo pomáhá popsat výkon klasifikačního modelu. Je to nejdůležitější krok, pokud jde o hodnocení modelu. V tomto článku se budu věnovat následujícím tématům:
2. Přesnost a komponenty matice zmatku
3. Přesnost, vyvolání a F-měření
4. Vytvoření matice zmatku pomocí Pythonu a Sklearnu
Co je Matice zmatku?
Matice zmatku je srovnávací souhrn předpovězených výsledků a skutečných výsledků v jakémkoli případě použití problému klasifikace. Souhrn porovnání je nesmírně nezbytný k určení výkonu modelu poté, co byl trénován s některými tréninkovými daty. Pro případ použití binární klasifikace je Matice zmatku matice 2 × 2, která je znázorněna nížePředpokládaná hodnota třídy 1 EG: 1 | Předpokládaná hodnota třídy 2 EG: 0 | |
Skutečná hodnota třídy 1 EG: 1 | TP (skutečně pozitivní) | FN (falešně negativní) |
Skutečná hodnota třídy 2 EG: 0 | FP (falešně pozitivní) | TN (True Negative) |
Z výše uvedeného obrázku:
My máme,
- Skutečná hodnota třídy 1 = 1, která je podobná kladné hodnotě v binárním výsledku.
- Skutečná hodnota třídy 2 = 0, která je obdobou záporné hodnoty v binárním výsledku.
Levý index matice záměny v zásadě označuje skutečné hodnoty a horní sloupec označuje předpokládané hodnoty.
Když vytváříme matici záměny, existují různé komponenty. Níže jsou uvedeny komponenty
Pozitivní (P): Předpovídaný výsledek je pozitivní (Příklad: Obrázek je kočka)
Negativní (N): předpokládaný výsledek je negativní (Příklad: Obrázky nejsou kočka)
Skutečně pozitivní (TP): Zde TP v podstatě označuje předpovězené a skutečné hodnoty jsou 1 (True)
True Negative (TN): Zde TN označuje předpovězenou a skutečná hodnota je 0 (False)
hluboké klonování a mělké klonování v Javě
Falešně negativní (FN): Zde FN označuje předpokládanou hodnotu 0 (negativní) a skutečná hodnota 1. Zde se obě hodnoty neshodují. Proto je to falešně negativní.
Falešně pozitivní (FP): Zde FP označuje, že předpovězená hodnota je 1 (pozitivní) a skutečná hodnota je 0. Zde se opět neshodují obě hodnoty. Proto je falešně pozitivní.
Přesnost a komponenty matice zmatku
Poté, co je vytvořena matice záměny a určíme hodnoty všech komponent, je pro nás docela snadné vypočítat přesnost. Pojďme se tedy podívat na komponenty, abychom tomu lépe porozuměli.- Přesnost klasifikace
Z výše uvedeného vzorce je správným předpovězeným výsledkem součet TP (True Positive) a TN (True Negative). Proto, abychom vypočítali přesnost v procentech, rozdělíme se na všechny ostatní komponenty. V přesnosti však existují určité problémy a nemůžeme na něj zcela záviset.
Uvažujme, že náš datový soubor je zcela nevyvážený. V tomto scénáři může být 98% přesnost dobrá nebo špatná na základě prohlášení o problému. Proto máme několik dalších klíčových pojmů, které nám pomohou mít jistotu o přesnosti, kterou počítáme. Podmínky jsou uvedeny níže:
- TPR (True Positive Rate) nebo citlivost:
Pravda pozitivní míra, která je také známá jako citlivost, měří procento skutečné pozitivity vzhledem k celkovým skutečným pozitivům, která je označena (TP + FN)
Předpokládaná hodnota třídy 1 EG: 1 | Předpokládaná hodnota třídy 2 EG: 0 | Celkový | |
Skutečná hodnota třídy 1 EG: 1 | TP (skutečně pozitivní) | FN (falešně negativní) | Celkem skutečných pozitiv |
Skutečná hodnota třídy 2 EG: 0 | FP (falešně pozitivní) | TN (True Negative) | Skutečné záporné hodnoty celkem |
- TNR (True Negative Rate) nebo specificita:
True Negative Rate nebo Specificity měří podíl skutečných negativů vzhledem k celkovým negativům
Předpokládaná hodnota třídy 1 EG: 1 | Předpokládaná hodnota třídy 2 EG: 0 | Celkový | |
Skutečná hodnota třídy 1 EG: 1 | TP (skutečně pozitivní) | FN (falešně negativní) | Celkem skutečných pozitiv |
Skutečná hodnota třídy 2 EG: 0 | FP (falešně pozitivní) | TN (True Negative) | Skutečné záporné hodnoty celkem |
TNR = True Negative / (True Negative + False Positive)
- Falešná pozitivní sazba (FPR):
Míra falešně pozitivních výsledků je procento předpokládaných falešně pozitivních výsledků (FP) k celkovému počtu předpokládaných pozitivních výsledků (TP + FP).
Předpokládaná hodnota třídy 1 EG: 1 | Předpokládaná hodnota třídy 2 EG: 0 | |
Aktuální hodnota třídy 1 EG: 1 | TP (skutečně pozitivní) | FN (falešně negativní) |
Aktuální hodnota třídy 2 EG: 0 | FP (falešně pozitivní) | TN (True Negative) |
Součet celkových předpokládaných kladných hodnot | Součet předpokládaných záporů celkem |
- Falešná negativní sazba (FNR):
Míra falešných negativů je procento předpokládaných falešných negativů (FP) k celkovému počtu předpokládaných negativních výsledků (TN + FN).
Přesnost, vyvolání a F-měření
- Odvolání:
Vyvolání je podobné jako skutečná pozitivní míra a je to poměr celkového počtu správně předpovězených kladných hodnot (TP) ke všem pozitivním hodnotám.
- Přesnost:
Přesnost v zásadě označuje všechny body, které model předpovídal jako pozitivní, a jaké procento z nich je ve skutečnosti pozitivních.
Precision a Recall jsou výsledky metrik, které se zaměřují na pozitivní třídu, jak je ukázáno z výše uvedených vzorců.
- F-opatření
F-Measure je tedy technika, která kombinuje techniku Precision i Recall a používá Harmonic Mean místo obvyklého aritmetického průměru, díky čemuž jsou extrémní hodnoty trestány. F-míra se také nazývá skóre F1 a je dána níže uvedeným vzorcem.
php mysql_fetch_array
Uvažujme příklad a uvidíme, jak můžeme vypočítat přesnost, přesnost, vyvolání a skóre F1.
N = 165 | Předpokládané ANO | Předpokládané NE |
Aktuální ANO | TP = 150 | FN = 10 |
Aktuální NO | FP = 20 | TN = 100 |
- Přesnost = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
- Odvolání = TP / (TP + FN) = 150 / (150 + 10) = 0,93
- Přesnost: TP / (TP + FP) = 150 / (150 + 20) = 0,88
- F-míra = (2 * Vyvolání * Přesnost) / (Vyvolání + Presize) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90
Vytvoření matice zmatku pomocí Pythonu a Sklearnu
Nyní uvidíme příklad, jak můžeme vytvořit matici zmatku pomocí pythonu spolu s knihovnou sklearn.
jeden. Zpočátku vytvoříme nějaký seznam skutečných dat a předpovědí ke kontrole přesnosti, jak je uvedeno níže
# Skript v Pythonu pro vytváření matice záměny. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predected_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]
2. Musíme importovat matici zmatku z knihovny sklearn, jak je znázorněno níže:
ze sklearn.metrics import confusion_matrix
3. Dále vytvoříme matici zmatku, jak je znázorněno níže:
final_results = confusion_matrix (actual_data, prediction_data)
Čtyři. Nyní můžeme pokračovat a vypočítat přesnost importem knihovny, jak je znázorněno níže:
z sklearn.metrics import přesnost_skóre přesnost = přesnost_skóre (skutečná_data, předpokládaná_data)
5. Nakonec vypočítáme skóre F1 nebo F- měření, jak je znázorněno níže:
ze sklearn.metrics import report klasifikace_report = klasifikace_report (skutečná_data, předpokládaná_data)
Níže je kompletní kód:
actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predected_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] ze sklearn.metrics import confusion_matrix final_results = confusion_matrix (skutečná_data, predikovaná_data) tisk (konečná_výsledky) ze sklearn.metrics import přesnost_skóre přesnost = přesnost_skóre (skutečná_data, predikovaná_data) ze sklearn.metriky import klasifikace_report (report = klasifikace_report) skutečná_data, předpokládaná_data) tisk (přesnost) tisk (zpráva)
Tímto se tedy dostáváme na konec tohoto článku. Doufám, že všechny vaše zmatky ohledně Matice zmatků jsou nyní vyřešeny.
Edureka vám pomůže získat odborné znalosti v různých algoritmech strojového učení, jako je regrese, shlukování, rozhodovací stromy, náhodný les, Naivní Bayes a Q-Learning. Toto strojové učení využívající Python Training vás seznámí s koncepty statistik, časových řad a různých tříd algoritmů strojového učení, jako jsou supervizované, nekontrolované a posilovací algoritmy. V průběhu certifikačního kurzu Data Science budete řešit reálné případové studie v médiích, zdravotnictví, sociálních médiích, letectví a HR.