Matica zmätku v strojovom učení: vaše komplexné riešenie



Tento článok sa zameriava na Maticu zmätku, ktorá je jedným z najdôležitejších aspektov každého algoritmu strojového učenia používaného na hodnotenie jeho presnosti.

V , zvyčajne máme 2 rôzne typy prípadov použitia, a problém. Matica zmätku pomáha pri výpočte presnosti klasifikačného modelu, čo nám nepriamo pomáha popisovať výkonnosť klasifikačného modelu. Je to najdôležitejší krok, pokiaľ ide o hodnotenie modelu. V tomto článku sa budem venovať nasledujúcim témam:

1. Čo je to Matrica zmätku?





2. Presnosť a súčasti matice zmätku

3. Presnosť, vyvolanie a F-miera



4. Vytvorenie Matice zmätku pomocou Pythonu a Sklearnu

Čo je to Matrica zmätku?

Matica zmätku je porovnávacím súhrnom predpovedaných výsledkov a skutočných výsledkov v každom prípade použitia problému s klasifikáciou. Porovnávací súhrn je mimoriadne nevyhnutný na zistenie výkonnosti modelu po jeho zaškolení pomocou niektorých tréningových údajov. Accuracy-Confusion-MatrixPre prípad použitia binárnej klasifikácie je Confusion Matrix matica 2 × 2, ktorá je znázornená nižšie
Predpovedaná hodnota triedy 1 EG: 1 Predpovedaná hodnota triedy 2 EG: 0
Aktuálna hodnota triedy 1

EG: 1

TP (skutočne pozitívne) FN (falošne negatívne)
Skutočná hodnota triedy 2



EG: 0

FP (falošne pozitívne) TN (skutočne záporné)

Z vyššie uvedeného obrázku:
Máme,

  • Skutočná hodnota triedy 1 = 1, ktorá je podobná kladnej hodnote v binárnom výsledku.
  • Skutočná hodnota triedy 2 = 0, ktorá je podobná zápornej hodnote v binárnom výsledku.

Index na ľavej strane zmätenej matice v podstate označuje Skutočné hodnoty a horný stĺpec označuje Predikované hodnoty.

Keď vytvárame maticu zmätku, existujú rôzne komponenty. Ďalej sú uvedené komponenty

Pozitívne (P): Predpovedaný výsledok je pozitívny (príklad: obrázok je mačka)

Záporné (N): predpokladaný výsledok je negatívny (príklad: obrázky nie sú mačka)

Skutočne pozitívne (TP): Tu TP v podstate označuje predpovedané a skutočné hodnoty sú 1 (True)

Skutočný zápor (TN): TN tu označuje predikovanú a skutočná hodnota je 0 (nepravda)

trieda python __init__

Falošný negatív (FN): Tu FN označuje predpokladanú hodnotu 0 (zápornú) a skutočná hodnota 1. V tomto prípade sa obe hodnoty nezhodujú. Preto je falošne negatívny.

Falošne pozitívne (FP): Tu FP naznačuje, že predpovedaná hodnota je 1 (pozitívna) a skutočná hodnota je 0. Tu sa opäť nezhodujú obe hodnoty. Preto je falošne pozitívny.

Presnosť a súčasti matice zmätku

Po vytvorení matice zmätku a určení všetkých hodnôt komponentov je pre nás celkom ľahké vypočítať presnosť. Pozrime sa teda na komponenty, aby sme tomu lepšie porozumeli.
  • Presnosť klasifikácie

Z vyššie uvedeného vzorca je správnym predpovedaným výsledkom súčet TP (True Positive) a TN (True Negative). Preto, aby sme mohli vypočítať presnosť v percentách, rozdelíme ho na všetky ostatné komponenty. S presnosťou však existujú problémy a nemôžeme na ňu úplne závisieť.

Zvážme, že náš súbor údajov je úplne nevyvážený. V tomto scenári môže byť 98% presnosť dobrá alebo zlá na základe vyhlásenia o probléme. Preto máme niekoľko ďalších kľúčových výrazov, ktoré nám pomôžu získať istotu o presnosti, ktorú vypočítame. Podmienky sú uvedené nižšie:

  • TPR (skutočná pozitívna frekvencia) alebo citlivosť:

Skutočná pozitívna miera, ktorá je tiež známa ako citlivosť, meria percento skutočného pozitívneho vzhľadom na celkové skutočné pozitíva, ktoré je označené ako (TP + FN)

Predpovedaná hodnota triedy 1 EG: 1 Predpovedaná hodnota triedy 2 EG: 0 Celkom
Aktuálna hodnota triedy 1

EG: 1

TP (skutočne pozitívne) FN (falošne negatívne) Celkom skutočných pozitív
Skutočná hodnota triedy 2

EG: 0

FP (falošne pozitívne)TN (skutočne záporné)Skutočné negatívy spolu
TPR = skutočne pozitívny / (skutočne pozitívny + falošne negatívny)
  • TNR (skutočná negatívna miera) alebo špecifickosť:

Skutočná negatívna sadzba alebo špecificita meria podiel skutočných negatívov na celkových negatívach

Predpovedaná hodnota triedy 1 EG: 1 Predpovedaná hodnota triedy 2 EG: 0 Celkom
Aktuálna hodnota triedy 1

EG: 1

TP (skutočne pozitívne)FN (falošne negatívne)Celkom skutočných pozitív
Skutočná hodnota triedy 2

EG: 0

FP (falošne pozitívne) TN (skutočne záporné) Skutočné negatívy spolu

TNR = skutočne negatívny / (skutočne negatívny + falošne pozitívny)

  • Miera falošnej pozitivity (FPR):

Miera falošne pozitívnych výsledkov je percento predpokladaných falošných pozitívnych výsledkov (FP) k celkovému počtu predpokladaných pozitívnych výsledkov (TP + FP).

Predpovedaná hodnota triedy 1 EG: 1 Predpovedaná hodnota triedy 2 EG: 0
Aktuálna hodnota triedy 1 EG: 1 TP (skutočne pozitívne) FN (falošne negatívne)
Aktuálna hodnota triedy 2 EG: 0 FP (falošne pozitívne) TN (skutočne záporné)
Súčet celkových predpokladaných pozitívnych Súčet predpokladaných záporných súčtov
FPR = Falošné pozitívne / (Skutočne pozitívne + Falošné pozitívne)
  • Falošná negatívna miera (FNR):

Miera falošných negatívov je percento predpokladaných falošných negatívov (FP) k celkovému počtu predpokladaných negatívnych výsledkov (TN + FN).

Predpovedaná hodnota triedy 1 EG: 1 Predpovedaná hodnota triedy 2 EG: 0
Aktuálna hodnota triedy 1 EG: 1TP (skutočne pozitívne) FN (falošne negatívne)
Aktuálna hodnota triedy 2 EG: 0FP (falošne pozitívne) TN (skutočne záporné)
Súčet celkových predpokladaných pozitívnych Súčet predpokladaných záporných súčtov
FNR = falošne negatívny / (falošne negatívny + skutočne negatívny)

Presnosť, stiahnutie z obehu a F-miera

  • Pripomeňme:

Vyvolávanie je podobné ako skutočná pozitívna miera a je to pomer celkového počtu správne predpovedaných pozitívnych hodnôt (TP) k všetkým pozitívnym hodnotám.

  • Presnosť:

Presnosť v zásade označuje všetky body, ktoré model predpovedal ako pozitívne, a koľko percent z nich je v skutočnosti pozitívnych.

Presnosť a vyvolanie sú výsledky metrík, ktoré sa zameriavajú na pozitívnu triedu, ako je zrejmé z vyššie uvedených vzorcov.

  • F-opatrenie

F-Measure je teda technika, ktorá kombinuje techniku ​​Precision aj Recall a používa Harmonic Mean namiesto obvyklého aritmetického priemeru, vďaka čomu sú extrémne hodnoty trestané. F-miera sa tiež nazýva ako F1- skóre a je daná vzorcom nižšie.

metóda triedenia c ++

Uvažujme o príklade a pozrime sa, ako môžeme vypočítať presnosť, presnosť, vyvolanie a skóre F1.

N = 165 Predpokladané ÁNO Predpovedané NIE
Skutočné ÁNO TP = 150 FN = 10
Aktuálny NO FP = 20 TN = 100
    • Presnosť = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Odvolanie = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Presnosť: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-miera = (2 * vyvolanie * presnosť) / (vyvolanie + prezencia) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Vytvorenie Matice zmätku pomocou Pythonu a Sklearnu

Teraz uvidíme príklad, ako môžeme vytvoriť maticu zmätku pomocou pythonu spolu s knižnicou sklearn.

jeden. Spočiatku vytvoríme zoznam skutočných údajov a predpokladaných údajov na kontrolu presnosti, ako je uvedené nižšie

# Skript v jazyku Python na vytváranie matice zmätku. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] prediction_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Potrebujeme importovať maticu zmätku z knižnice sklearn, ako je uvedené nižšie:

z sklearn.metrics import confusion_matrix

3. Ďalej vytvoríme maticu zmätku, ako je uvedené nižšie:

final_results = confusion_matrix (actual_data, prediction_data)

Štyri. Teraz môžeme pokračovať a vypočítať presnosť importom knižnice, ako je uvedené nižšie:

z sklearn.metrics import presnosť_skóre presnosť = presnosť_skóre (skutočná_údaj, predpokladaná_údaj)

5. Nakoniec vypočítame skóre F1 alebo F- meranie, ako je uvedené nižšie:

z sklearn.metrics import report klasifikácie_správy = report klasifikácie (skutočné_údaje, predpokladané_údaje)

Nižšie je uvedený kompletný kód:

actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] prediction_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] z sklearn.metrics import confusion_matrix final_results = confusion_matrix (actual_data, prediction_data) tlač (final_results) z sklearn.metrics import presnosť_skóre presnosť = presnosť_skóre (aktuálne_dáta, predikované_dáta) z sklearn.metrics import klasifikácie_správy (report = klasifikácia_správa) skutočná_údaj, predpokladaná_údaj) tlač (presnosť) tlač (správa)

matrix

Týmto teda prichádzame na koniec tohto článku. Dúfam, že všetky vaše nejasnosti týkajúce sa Matice zmätkov sú teraz vyriešené.

Edureka’s vám pomôže získať odborné znalosti v rôznych algoritmoch strojového učenia, ako sú regresia, klastrovanie, rozhodovacie stromy, náhodný les, Naïve Bayes a Q-Learning. Toto strojové učenie pomocou výučby v jazyku Python vám poskytuje predstavu o štatistikách, časových radoch a rôznych triedach algoritmov strojového učenia, ako sú supervizované, nekontrolované a posilňovacie algoritmy. Počas celého certifikačného kurzu Data Science budete riešiť prípadové štúdie z reálneho života v oblasti médií, zdravotníctva, sociálnych médií, letectva a ľudských zdrojov.