Matice zmatku ve strojovém učení: vaše komplexní řešení



Tento článek se zaměřuje na Matici zmatku, která je jedním z nejdůležitějších aspektů jakéhokoli algoritmu strojového učení používaného k vyhodnocení jeho přesnosti.

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:

1. Co je to Matice zmatku?





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. Accuracy-Confusion-MatrixPro případ použití binární klasifikace je Matice zmatku matice 2 × 2, která je znázorněna níže
Př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
TPR = True Positive / (True Positive + False Negative
  • 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
FPR = Falešně pozitivní / (Skutečně pozitivní + Falešně pozitivní)
  • 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ředpokládaná hodnota třídy 1 EG: 1 Předpokládaná hodnota třídy 2 EG: 0
Aktuální hodnota třídy 1 EG: 1TP (skutečně pozitivní) FN (falešně negativní)
Aktuální hodnota třídy 2 EG: 0FP (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
FNR = False Negative / (False Negative + True Negative)

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)

matrix

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.