Matrica zabune u strojnom učenju: vaše rješenje na jednom mjestu



Ovaj se članak fokusira na Matricu zbrke, koja je jedan od najvažnijih aspekata svakog algoritma strojnog učenja koji se koristi za procjenu njegove točnosti.

U , obično imamo 2 različite vrste slučajeva, , i problem. Matrica zbrke pomaže u izračunavanju točnosti klasifikacijskog modela što neizravno pomaže u opisivanju izvedbe klasifikacijskog modela. To je najvažniji korak kada je u pitanju ocjenjivanje modela. U ovom ću članku pokriti sljedeće teme:

1. Što je matrica zbrke?





2. Točnost i komponente matrice zbrke

3. Preciznost, opoziv i F-mjera



4. Stvaranje matrice zbrke pomoću Pythona i Sklearna

Što je matrica zbrke?

Matrica zbrke je sažetak usporedbe predviđenih rezultata i stvarnih rezultata u bilo kojem slučaju korištenja problema s klasifikacijom. Sažetak usporedbe izuzetno je potreban za određivanje izvedbe modela nakon što se obuči s nekim podacima o obuci. Accuracy-Confusion-MatrixZa slučaj binarne klasifikacije, Matrica zbrke je matrica 2 × 2 koja je prikazana dolje
Predviđena vrijednost klase 1 Npr .: 1 Predviđena vrijednost klase 2 Npr .: 0
Stvarna vrijednost klase 1

Npr .: 1

TP (istinito pozitivno) FN (lažno negativan)
Stvarna vrijednost klase 2



Npr .: 0

FP (lažno pozitivno) TN (istinito negativno)

Iz gornje slike:
Imamo,

  • Stvarna vrijednost klase 1 = 1 koja je slična pozitivnoj vrijednosti u binarnom ishodu.
  • Stvarna vrijednost klase 2 = 0 koja je slična negativnoj vrijednosti u binarnom ishodu.

Indeks lijeve strane matrice zbrke u osnovi označava stvarne vrijednosti, a gornji stupac predviđene vrijednosti.

Postoje razne komponente koje postoje kada stvaramo matricu zbrke. Komponente su spomenute u nastavku

Pozitivno (P): Predviđeni rezultat je pozitivan (primjer: slika je mačka)

Negativno (N): predviđeni rezultat je negativan (primjer: Slike nisu mačka)

Istinito pozitivno (TP): Ovdje TP u osnovi označava predviđanje, a stvarne vrijednosti su 1 (Tačno)

Točno negativno (TN): Ovdje TN označava predviđanje, a stvarna vrijednost je 0 (netačno)

Lažno negativan (FN): Ovdje FN označava da je predviđena vrijednost 0 (negativna), a stvarna vrijednost 1. Ovdje se obje vrijednosti ne podudaraju. Stoga je lažno negativan.

Lažno pozitivan (FP): Ovdje FP označava da je predviđena vrijednost 1 (pozitivna), a stvarna vrijednost 0. Ovdje se opet obje vrijednosti ne podudaraju. Stoga je lažno pozitivan.

što je sqoop u hadoopu

Točnost i komponente matrice zbrke

Nakon stvaranja matrice zbrke i kada utvrdimo vrijednosti svih komponenata, postaje nam vrlo lako izračunati točnost. Dakle, pogledajmo komponente kako bismo to bolje razumjeli.
  • Točnost klasifikacije

Iz gornje formule zbroj TP (istinski pozitivan) i TN (istinski negativan) točni su predviđeni rezultati. Stoga, da bismo izračunali točnost u postocima, dijelimo sa svim ostalim komponentama. Međutim, postoje neki problemi u točnosti i ne možemo u potpunosti ovisiti o tome.

Uzmimo u obzir da je naš skup podataka potpuno neuravnotežen. U ovom scenariju, točnost 98% može biti dobra ili loša na temelju izjave o problemu. Stoga imamo još nekoliko ključnih pojmova koji će nam pomoći da budemo sigurni u točnost koju izračunavamo. Izrazi su navedeni u nastavku:

  • TPR (istinska pozitivna stopa) ili osjetljivost:

Prava pozitivna stopa koja je poznata i kao osjetljivost mjeri postotak istinske pozitivne vrijednosti u odnosu na ukupnu stvarnu pozitivnu vrijednost koja je označena s (TP + FN)

Predviđena vrijednost klase 1 Npr .: 1 Predviđena vrijednost klase 2 Npr .: 0 Ukupno
Stvarna vrijednost klase 1

Npr .: 1

TP (istinito pozitivno) FN (lažno negativan) Ukupni stvarni pozitivi
Stvarna vrijednost klase 2

Npr .: 0

FP (lažno pozitivno)TN (istinito negativno)Ukupni stvarni negativi
TPR = Tačno pozitivno / (Istinito pozitivno + Lažno negativno
  • TNR (True Negative Rate) ili specifičnost:

Stvarno negativna stopa ili specifičnost mjeri udio stvarnih negativa u odnosu na ukupne negative

Predviđena vrijednost klase 1 Npr .: 1 Predviđena vrijednost klase 2 Npr .: 0 Ukupno
Stvarna vrijednost klase 1

Npr .: 1

TP (istinito pozitivno)FN (lažno negativan)Ukupni stvarni pozitivi
Stvarna vrijednost klase 2

Npr .: 0

FP (lažno pozitivno) TN (istinito negativno) Ukupni stvarni negativi

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

  • Lažno pozitivna stopa (FPR):

Lažno pozitivna stopa predstavlja postotak predviđenih lažno pozitivnih rezultata (FP) prema ukupnom broju predviđenih pozitivnih rezultata (TP + FP).

Predviđena vrijednost klase 1 Npr .: 1 Predviđena vrijednost klase 2 Npr .: 0
Stvarna vrijednost klase 1 Npr .: 1 TP (istinito pozitivno) FN (lažno negativan)
Stvarna vrijednost klase 2 Npr .: 0 FP (lažno pozitivno) TN (istinito negativno)
Zbroj ukupno predviđenih pozitivnih Zbroj ukupnog predviđanja negativnog
FPR = Lažno pozitivno / (Tačno pozitivno + Lažno pozitivno)
  • Stopa lažnih negativa (FNR):

Stopa lažno negativnih vrijednosti predstavlja postotak predviđenih lažnih negativa (FP) u odnosu na ukupan broj predviđenih negativnih rezultata (TN + FN).

Predviđena vrijednost klase 1 Npr .: 1 Predviđena vrijednost klase 2 Npr .: 0
Stvarna vrijednost klase 1 Npr .: 1TP (istinito pozitivno) FN (lažno negativan)
Stvarna vrijednost klase 2 Npr .: 0FP (lažno pozitivno) TN (istinito negativno)
Zbroj ukupno predviđenih pozitivnih Zbroj ukupnog predviđanja negativnog
FNR = Lažno negativno / (Lažno negativno + Točno negativno)

Preciznost, opoziv i F-mjera

  • Podsjetiti:

Opoziv je sličan istinskoj pozitivnoj stopi i to je omjer ukupnog broja ispravno predviđenih pozitivnih vrijednosti (TP) prema svim pozitivnim vrijednostima.

  • Preciznost:

Preciznost u osnovi ukazuje na sve točke za koje je model predvidio da su pozitivne i koliki je postotak njih zapravo Pozitivan.

Preciznost i opoziv su metrički rezultati koji se usredotočuju na pozitivnu klasu, kao što je prikazano iz gornjih formula.

  • F-mjera

Dakle, F-mjera je tehnika koja kombinira i preciznost i opoziv te koristi harmoničnu sredinu umjesto uobičajene aritmetičke sredine, zbog čega se ekstremne vrijednosti kažnjavaju. F-mjera se naziva i F1-ocjena i daje se donjom formulom.

Razmotrimo primjer i vidjet ćemo kako možemo izračunati točnost, preciznost, opoziv i F1-rezultat.

N = 165 Predviđeno DA Predviđeno NE
Stvarno DA TP = 150 FN = 10
Trenutni NO FP = 20 TN = 100
    • Točnost = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) / (150 + 100 + 20 + 10) = 0,89
    • Opoziv = TP / (TP + FN) = 150 / (150 + 10) = 0,93
    • Preciznost: TP / (TP + FP) = 150 / (150 + 20) = 0,88

  • F-mjera = (2 * opoziv * preciznost) / (opoziv + presision) = (2 * 0,93 * 0,88) / (0,93 + 0,88) = 0,90

Stvaranje matrice zbrke pomoću Pythona i Sklearna

Sada ćemo vidjeti primjer kako možemo stvoriti matricu zabune pomoću pythona zajedno sa sklearn knjižnicom.

jedan. U početku ćemo stvoriti popis stvarnih podataka i predviđenih za provjeru točnosti kako je prikazano u nastavku

# Python skripta za stvaranje matrice zbrke. stvarni_podaci = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predviđeni_podaci = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Moramo uvesti matricu zbrke iz biblioteke sklearn kako je prikazano dolje:

from sklearn.metrics import confusion_matrix

3. Zatim ćemo stvoriti matricu zbrke kao što je prikazano u nastavku:

final_results = confusion_matrix (stvarni_podaci, predviđeni_podaci)

Četiri. Sada možemo ići naprijed i izračunati točnost uvozom biblioteke kao što je prikazano dolje:

iz sklearn.metrics uvoz točnost_score točnost = score_core (stvarni_podaci, predviđeni_podaci)

5. Na kraju izračunavamo F1-rezultat ili F-mjeru kao što je prikazano dolje:

iz sklearn.metrics uvoza report_report report = report_port (stvarni_podaci, predviđeni_podaci)

Ispod je cjeloviti kod:

stvarni_podaci = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predviđeni_podaci = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] iz sklearn.metrics import confusion_matrix final_results = confusion_matrix (stvarni_podaci, predviđeni_podaci) ispis (final_results) iz sklearn.metrics uvoz preciznost_rezultata točnost = točnost_score (stvarni_podaci, predviđeni_podaci) iz sklearn.metrics uvoz klasifikacija_izvještaj izvještaj = klasifikacija_izvještaj ( stvarni_podaci, predviđeni_podaci) ispis (točnost) ispis (izvještaj)

matrix

Dakle, ovim smo došli do kraja ovog članka. Nadam se da je sva vaša Zbrka oko Matrice zbrke sada riješena.

Edureka’s pomaže vam u stjecanju stručnosti u različitim algoritmima strojnog učenja kao što su regresija, klasterizacija, stabla odlučivanja, slučajne šume, naivni Bayes i Q-učenje. Ovo strojno učenje korištenjem Python Traininga izlaže vas konceptima statistike, vremenskih serija i različitim klasama algoritama strojnog učenja poput nadziranih, nenadziranih i algoritama pojačanja. Tijekom cijelog tečaja za certificiranje znanosti o znanosti rješavat ćete stvarne studije slučaja o medijima, zdravstvu, društvenim medijima, zrakoplovstvu i ljudskim resursima.