Ce sunt Sklearn Metrics și de ce trebuie să știți despre ele?

Publicat: 2021-10-22

Python este unul dintre cele mai utilizate limbaje de programare printre dezvoltatori la nivel global. Capacitățile sale de automatizare a datelor și algoritmi îl fac ideal pentru construirea și antrenamentul de programe, mașini și sisteme bazate pe computer și pentru a face predicții. Prin urmare, candidații cu abilități Python sunt din ce în ce mai preferați pentru căi de carieră profitabile, cum ar fi Machine Learning și Data Science.

Dacă sunteți începător, găsirea instrumentelor potrivite pe cont propriu poate părea descurajantă. Software-ul gratuit precum Scikit-learn vă poate împuternici să acumulați abilități relevante cu puțin efort. Biblioteca de învățare automată are mai multe clasificări, regresii și algoritmi de grupare pentru programatorii Python.

Acest blog se va concentra în mod special pe problemele de clasificare și pe valorile sklearn pentru a vă ghida în călătoria dvs. de învățare. Veți afla despre aplicarea metricilor de evaluare și, de asemenea, veți înțelege matematica din spatele acestora.

Cuprins

Metrici de clasificare în Scikit-Learn

Clasificarea este o parte integrantă a modelării predictive. Îl folosiți pentru a identifica clasa căreia îi aparține un anumit eșantion dintr-o populație. Să presupunem că doriți să preziceți dacă un pacient va fi spitalizat din nou. Cele două tipuri posibile aici sunt – pozitive (spitalizate) și negative (nespitalizate). Modelul de clasificare ar prezice găleata în care ar trebui să fie plasată eșantionul, Predicted Positive sau Predicted Negative. Veți descoperi acuratețea predicțiilor odată ce antrenați modelul.

Majoritatea cercetătorilor de date și a inginerilor de învățare automată folosesc pachetul Scikit-Learn pentru a analiza performanța modelelor predictive. Modulul de metrici sklearn vă oferă acces la multe funcționalități încorporate. Să descoperim procesul de scriere a funcțiilor de la zero cu aceste valori.

Alăturați-vă Cursului de învățare automată online de la cele mai bune universități din lume – Master, Programe Executive Postuniversitare și Program de Certificat Avansat în ML și AI pentru a vă accelera cariera.

Sklearn Metrics explicate

Sklearn metrics vă permite să implementați scoruri, pierderi și funcții de utilitate pentru evaluarea performanței clasificării.

Iată pașii cheie implicați:

  • Incarca date;
  • Împărțiți-l în set de tren și set de testare;
  • Construiți modelul de antrenament;
  • Faceți predicții sau prognoze asupra datelor de testare;
  • Evaluați modelul de învățare automată cu o anumită metodă.

Pentru a continua, va trebui să încărcați un set de date eșantion și capacități de predicție pentru două modele, Random Forest și Linear Regression. Să le numim Model_RF și Model_LR.

Rulați acest cod pentru a importa modulul Pandas și citiți fișierul de date și inspectați elementele acestuia.

importa panda ca ps

df = ps.read_csv('data.csv')

df.head()

În majoritatea proiectelor, definiți un prag și etichetați probabilitățile de predicție ca fiind pozitive și negative. Acest lucru ar adăuga încă două coloane la tabelul dvs.

prag = 0,5

df['forecasted_RF'] = (df.model_RF >= 0,5).astype('int')

df['forecasted_LR'] = (df.model_LR >= 0.5).astype('int')

df.head()

Acum că avem etichete reale și prognozate, ne putem împărți mostrele în patru găleți diferite.

Cu confusion_matrix, putem obține o matrice 2X2 cu etichetele bifurcate în următoarele găleți:

  • Adevărat pozitiv (TP)
  • fals pozitiv (FP)
  • fals negativ (FN)
  • Adevărat negativ (TN)

După ce ați importat confusion_matrix din valorile sklearn și ați trecut etichetele reale și prognozate, vă puteți defini funcțiile pentru a o verifica.

De asemenea, puteți verifica manual dacă rezultatele dvs. se potrivesc folosind funcția assert a lui Python și funcția array_equal a lui NumPy.

Putem calcula multe alte valori de performanță folosind cele patru grupe de TP, FP, TN și FN. Acestea sunt:

1. precizie_score

Acesta ia etichetele reale și prognozate ca intrări și produce fracțiunea de eșantioane prezisă corect.

2. recall_score

Oferă fracțiunea de evenimente pozitive prezisă corect. Rechemarea este cunoscută și sub numele de sensibilitate.

3. precizie_score

Arată fracția dintre evenimentele pozitive prezise care sunt pozitive.

După calcularea tuturor acestor valori, să presupunem că găsiți modelul RF mai bun la rechemare și precizie. Alegerea aici ar fi ușoară. Dar dacă modelul LR a fost mai bun la rechemare și modelul RF a fost mai bun la precizie? În acest caz, veți avea nevoie de o altă metodă numită scor F1.

4. f1_score

Este mijlocul armonic al reamintirii și preciziei. Modelul cu scorul mai mare este considerat opțiunea mai bună.

Valorile de mai sus au fost calculate cu un prag definit de 0,5. S-ar putea să se întrebe dacă o modificare a acestui prag ar modifica și valorile de performanță. Răspunsul? Da se va.

Avem o altă modalitate de a evalua un model fără a alege un prag, adică curbele caracteristice de funcționare a receptorului (ROC). Scikit-learn are și funcții încorporate pentru analizarea acestora.

Funcțiile roc_curve și roc_auc_score iau ca intrări etichetele reale și probabilitățile prognozate.

  • roc_curve

Returnează trei liste, și anume praguri (probabilități unice prognozate în ordine descrescătoare), FPR (rate fals pozitive) și TPR (rate pozitive adevărate).

  • roc_auc_curve

Găsește zonele de sub curbă pentru modelele RF și LR.

Puteți determina valoarea de performanță mai bună odată ce trasați curba ROC și adăugați AUC la legende.

Rezumând

În analiza predictivă, puteți alege dintr-o varietate de valori. Acuratețea, rechemarea, precizia, f1 și AUC sunt câteva dintre scorurile populare.

Unii pot prefera să definească un prag și să utilizeze valori de performanță precum acuratețea, reamintirea, precizia și scorurile f1. Alții ar putea dori să folosească AUC pentru a analiza performanța unui model, deoarece nu necesită selectarea pragului. În cele din urmă, ar trebui să alegeți valoarea care se potrivește cel mai bine problemei de afaceri în cauză.

Prin aceasta, v-am oferit o imagine de ansamblu asupra valorilor sklearn. Puteți folosi aceste informații pentru a clarifica elementele de bază ale programării Python și pentru a continua să învățați cu cursuri online. Puteți, de asemenea, să lucrați la proiect pentru a vă exersa și a vă perfecționa abilitățile. Programe precum masterul upGrad în învățare automată și inteligență artificială pot ajuta cu ambele.

Curriculumul vă familiarizează cu setul complet de instrumente pentru știința datelor și acoperă aspecte practice ale Scikit-Learn și alte programe software. În plus, acreditările de la institute de renume, cum ar fi Universitatea Liverpool John Moores și IIIT Bangalore, te deosebesc de concurență în cererile de angajare și interviurile de plasare.

Ce sunt valorile de evaluare în Python?

Valorile de evaluare sunt utilizate de obicei pentru probleme de clasificare în Python. Scikit-Learn este o bibliotecă gratuită de învățare automată care permite o gamă largă de sarcini de analiză predictivă. Oamenii de știință de date și inginerii de învățare automată aspiranți îl pot folosi pentru a face predicții despre date și pentru a analiza calitatea unor modele specifice.

De ce aveți nevoie de valori sklearn?

Valorile Sklearn vă permit să evaluați calitatea predicțiilor dvs. Puteți utiliza acest modul în Scikit-Learn pentru diferite seturi de date, funcții de scor și valori de performanță. Matricea de confuzie din sklearn este o reprezentare utilă a acurateței predicțiilor. Cu intrări precum etichetele reale și prezise, ​​împreună cu un prag definit sau o valoare de încredere, puteți calcula valori precum reamintirea, precizia și scorurile f1. Metoda curbei ROC echilibrează estimările de probabilitate și oferă o metrică de performanță în ceea ce privește aria de sub curbă.

Cum ajută educația postuniversitară în AI și ML la avansarea în carieră?

Cele mai avansate certificări în domeniul inteligenței artificiale și învățării automate includ instrumente precum Scikit-Learn în curriculum. Este o componentă esențială a programării Python și a instruirii în știința datelor. Dar rețetele de codificare în Python și Scikit-Learn nu sunt suficiente în mediul de muncă competitiv de astăzi. Trebuie să obțineți cunoștințe orientate spre industrie și să vă exersați abilitățile. Deci, alegeți programe de studiu care oferă oportunități de implementare a proiectelor și sarcinilor.