Clasificare binară

Finalizat

Sfat

Consultați fila Text și imagini pentru mai multe detalii!

Clasificarea, cum ar fi regresia, este o tehnică supravegheată de învățare programată; și, prin urmare, urmează același proces iterativ de formare, validare și evaluare a modelelor. În loc să calculați valori numerice, cum ar fi un model de regresie, algoritmii utilizați pentru a instrui modelele de clasificare calculează valorile de probabilitate pentru temele pentru acasă și măsurătorile de evaluare utilizate pentru a evalua performanța modelului, comparați clasele estimate cu clasele reale.

Algoritmii de clasificare binară sunt utilizați pentru a antrena un model care anticipează una dintre cele două etichete posibile pentru o singură clasă. În esență, anticiparea adevăratului sau falsului. În majoritatea scenariilor reale, observațiile de date utilizate pentru a instrui și valida modelul constau în mai multe valori de caracteristici (x) și o valoare y care este 1 sau 0.

Exemplu - clasificare binară

Pentru a înțelege cum funcționează clasificarea binară, să analizăm un exemplu simplificat care utilizează o singură caracteristică (x) pentru a anticipa dacă eticheta y este 1 sau 0. În acest exemplu, vom folosi nivelul glicemiei unui pacient pentru a prezice dacă pacientul are diabet zaharat. Iată datele cu care vom instrui modelul:

Diagramă cu o seringă. Diagramă cu o persoană diabetică și non-diabetică.
Glicemie (x) Diabetic? (y)
67 0
103 1
114 1
72 0
116 1
65 0

Instruirea unui model de clasificare binară

Pentru a instrui modelul, vom utiliza un algoritm pentru a se potrivi datelor de instruire la o funcție care calculează probabilitatea etichetei clasei adevărate (cu alte cuvinte, că pacientul are diabet zaharat). Probabilitatea este măsurată ca valoare între 0,0 și 1,0, astfel încât probabilitatea totală pentru toate clasele posibile este 1,0. De exemplu, dacă probabilitatea unui pacient cu diabet zaharat este de 0,7, atunci există o probabilitate corespunzătoare de 0,3 că pacientul nu este diabetic.

Există mulți algoritmi care pot fi utilizați pentru clasificarea binară, cum ar fi regresie logistică, care derivă o funcție sigmoid (în formă de S) cu valori între 0,0 și 1,0, astfel:

Diagramă cu o funcție logistică.

Notă

În ciuda numelui său, regresia logistică de învățare programată este utilizată pentru clasificare, nu pentru regresie. Punctul important este natura logistică a funcției pe care o produce, care descrie o curbă în formă de S între o valoare inferioară și superioară (0,0 și 1,0 atunci când este utilizată pentru clasificarea binară).

Funcția produsă de algoritm descrie probabilitatea ca y să fie adevărată (y=1) pentru o valoare dată de x. Matematic, puteți exprima funcția astfel:

f(x) = P(y=1 | x)

Pentru trei dintre cele șase observații din datele de formare, știm că y este cu siguranță adevărat, așa că probabilitatea pentru acele observații că y=1 este 1,0 și pentru celelalte trei, știm că y este cu siguranță falsă, astfel încât probabilitatea y=1 este 0,0. Curba în formă de S descrie repartiția de probabilitate, astfel încât reprezentarea unei valori x pe linie să identifice probabilitatea corespunzătoare ca y să fie 1.

Diagrama include, de asemenea, o linie orizontală pentru a indica pragul la care un model bazat pe această funcție va prezice adevărat (1) sau fals (0). Pragul se află la punctul de mijloc pentru y (P(y) = 0,5). Pentru orice valori din acest punct sau de mai sus, modelul va prezice adevărat (1); în timp ce pentru orice valori de sub acest punct, va prezice fals (0). De exemplu, pentru un pacient cu o glicemie de 90, funcția ar duce la o valoare de probabilitate de 0,9. Deoarece 0,9 este mai mare decât pragul de 0,5, modelul ar prezice adevărat (1) - cu alte cuvinte, pacientul este prezis să aibă diabet zaharat.

Evaluarea unui model de clasificare binar

Ca și în cazul regresiei, atunci când instruiți un model de clasificare binară, țineți apăsat un subset aleator de date cu care să validați modelul instruit. Să presupunem că am păstrat următoarele date pentru a valida clasificatorul nostru de diabet:

Glicemie (x) Diabetic? (y)
66 0
107 1
112 1
71 0
87 1
89 1

Aplicarea funcției logistice pe care am derivat-o anterior valorilor x are ca rezultat următoarea reprezentare grafică.

Diagramă cu etichete estimate pe o curbă sigmoidă.

Pe baza probabilității calculate de funcție este peste sau sub prag, modelul generează o etichetă estimată de 1 sau 0 pentru fiecare observație. Apoi putem compara etichetele clasei estimate (ŷ) cu etichetele de clasă (y), așa cum se arată aici:

Glicemie (x) Diagnostic real al diabetului zaharat (y) Diagnosticul diabetului zaharat prezis (ŷ)
66 0 0
107 1 1
112 1 1
71 0 0
87 1 0
89 1 1

Măsurători de evaluare a clasificării binare

Primul pas în calculul măsurătorilor de evaluare pentru un model de clasificare binar este de obicei să creați o matrice a numărului de predicții corecte și incorecte pentru fiecare etichetă de clasă posibilă:

Diagramă cu o matrice de confuzie.

Această vizualizare se numește matrice de confuzie și afișează totalurile predicțiilor unde:

  • ŷ=0 și y=0: Negative adevărate (TN)
  • ŷ=1 și y=0: Fals pozitiv (FP)
  • ŷ=0 și y=1: Negative false (FN)
  • ŷ=1 și y=1: pozitive adevărate (TP)

Aranjamentul matricei de confuzie este astfel încât predicțiile corecte (adevărate) să fie afișate într-o linie diagonală, de la stânga sus la dreapta jos. Adeseori, intensitatea culorilor este utilizată pentru a indica numărul de predicții din fiecare celulă, astfel încât o privire rapidă asupra unui model care prezice bine ar trebui să dezvăluie o tendință diagonală profund umbrite.

Precizie

Cea mai simplă măsurătoare pe care o puteți calcula din matricea de confuzie este acuratețea - proporția predicțiilor pe care modelul le-a obținut corect. Acuratețea este calculată ca:

(TN+TP) ÷ (TN+FN+FP+TP)

În cazul exemplului nostru de diabet zaharat, calculul este:

(2+3) ÷ (2+1+0+3)

= 5 ÷ 6

= 0.83

Deci, pentru datele noastre de validare, modelul de clasificare diabet zaharat a produs predicții corecte 83% din timp.

Acuratețea poate părea inițial o măsurătoare bună pentru a evalua un model, dar luați în considerare acest lucru. Să presupunem că 11% populației are diabet zaharat. Ați putea crea un model care prezice întotdeauna 0 și ar obține o precizie de 89%, chiar dacă nu face nicio încercare reală de a diferenția între pacienți prin evaluarea caracteristicilor lor. Ceea ce avem nevoie cu adevărat este o înțelegere mai profundă a modului în care modelul funcționează la estimarea 1 pentru cazurile pozitive și 0 pentru cazuri negative.

Aminti

Retragerea este o măsurătoare care măsoară proporția cazurilor pozitive identificate corect de modelul respectiv. Cu alte cuvinte, în comparație cu numărul de pacienți care au diabet zaharat, câți au prezis modelul de a avea diabet zaharat?

Formula pentru retragere este:

TP ÷ (TP+FN)

Pentru exemplul nostru de diabet zaharat:

3 ÷ (3+1)

= 3 ÷ 4

= 0.75

Deci modelul nostru a identificat corect 75% de pacienți care au diabet zaharat.

Precizie

Precizia este o măsurătoare similară de amintit, dar măsoară proporția cazurilor pozitive estimate în care eticheta adevărată este de fapt pozitivă. Cu alte cuvinte, ce proporție dintre pacienții preziceți de modelul de a avea diabet zaharat de fapt au diabet zaharat?

Formula pentru precizie este:

TP ÷ (TP+FP)

Pentru exemplul nostru de diabet zaharat:

3 ÷ (3+0)

= 3 ÷ 3

= 1.0

Deci, 100% dintre pacienții prezise de modelul nostru de a avea diabet zaharat, de fapt, au diabet zaharat.

F1-score

F1-score este o măsurătoare generală care combină retragerea și precizia. Formula pentru scorul F1 este:

(2 x Precizie x Retragere) ÷ (Precizie + Retragere)

Pentru exemplul nostru de diabet zaharat:

(2 x 1,0 x 0,75) ÷ (1,0 + 0,75)

= 1,5 ÷ 1,75

= 0,86

Suprafață sub curbă (AUC)

Un alt nume pentru retragere este rata pozitivă adevărată (TPR) și există o măsurătoare echivalentă denumită rată fals pozitivă (FPR) calculată ca FP÷(FP+TN). Știm deja că TPR pentru modelul nostru atunci când se utilizează un prag de 0,5 este 0,75 și putem utiliza formula pentru FPR pentru a calcula o valoare de 0÷2 = 0.

Desigur, dacă am modifica pragul peste care modelul estimează că este adevărat (1), ar afecta numărul de predicții pozitive și negative; și, prin urmare, modificați măsurătorile TPR și FPR. Aceste măsurători sunt utilizate adesea pentru a evalua un model prin reprezentarea unei curbe a operatorului primit (ROC) care compară TPR și FPR pentru fiecare valoare prag posibilă între 0,0 și 1,0:

Diagramă cu o curbă ROC.

Curba ROC pentru un model perfect ar merge direct în sus axa TPR din stânga, apoi pe axa FPR din partea de sus. Deoarece suprafața reprezentată grafic pentru curbă măsoară 1x1, suprafața de sub această curbă perfectă ar fi 1,0 (ceea ce înseamnă că modelul este corect 100% orei). În schimb, o linie diagonală de la stânga jos la dreapta sus reprezintă rezultatele obținute prin ghicirea aleatorie a unei etichete binare; producând o suprafață sub curba de 0,5. Cu alte cuvinte, având în vedere două etichete de clasă posibile, vă puteți aștepta în mod rezonabil să ghiciți corect 50% din timp.

În cazul modelului nostru de diabet zaharat, curba de mai sus este produs, iar zona de sub curbă (AUC) este 0,875. Deoarece AUC este mai mare decât 0,5, putem concluziona modelul efectuează mai bine la estimarea dacă un pacient are diabet zaharat decât ghici întâmplător.