Demistificarea matricei de confuzie în învățarea automată [Uimitor]

Publicat: 2020-12-07

Machine Learning este un termen umbrelă sub care acumulează procesarea datelor, obținând informații semnificative din date și modelarea datelor. După ce s-a terminat cu modelarea datelor, modelul trebuie măsurat pentru evaluarea performanței sale și alți parametri bazați pe industrie, iar una dintre cele mai comune valori este Matricea de confuzie.

Cuprins

Ce este Matricea de confuzie și de ce este utilizată?

Este o metrică de performanță utilizată în probleme de clasificare în care clasele de ieșire pot fi două sau mai multe și această matrice reprezintă toate combinațiile de valori prezise de un model cu valori reale asociate cu acea intrare. Se numește „matrice de confuzie”, deoarece parcurgerea definițiilor pare ușor, dar pe măsură ce avansăm pentru a obține parametri mai valoroși, apare confuzia cu privire la parametrul care este cel mai potrivit pentru un anumit loc.

Este folosit în locurile în care problema clasificării este foarte dezechilibrată și o clasă domină peste celelalte clase. În astfel de scenarii, s-ar putea să fii surprins să vezi că acuratețea modelului atinge un vârf de 99%, dar, în realitate, modelul este foarte părtinitor către clasa dominantă. Există foarte puține posibilități ca să obțineți predicții pentru clasele minoritare. Prin urmare, pentru a testa un astfel de set de date dezechilibrat, luăm în considerare matricea de confuzie.

Structura matricei de confuzie

Mărimea matricei este direct proporțională cu numărul de clase de ieșire. Este o matrice pătrată în care presupunem antetele coloanei ca valori reale și antetele rândurilor ca predicții de model. Valorile care sunt adevărate și prezise adevărate de model sunt Adevărate Pozitive (TP) , predicțiile corecte ale valorilor negative sunt Adevărate Negative (TN) , valorile care au fost negative, dar prezise ca adevărate sunt False Pozitive (FP) și valorile pozitive prezise ca negative sunt Fals Negative (FN) . Aruncă o privire la această imagine:

Citiți: Tipuri de algoritm de clasificare în învățarea automată

Ce putem învăța din asta?

Se ridică o întrebare validă: ce putem face cu această matrice. Există câteva terminologii importante bazate pe aceasta:

  1. Precizie: este porțiunea de valori care sunt identificate de model ca fiind corecte și care sunt relevante pentru soluția enunțului problemei. Putem cita acest lucru și ca valori, care sunt o parte din totalul rezultatelor pozitive date de model și sunt pozitive. Prin urmare, putem da formula sa ca TP/ (TP + FP).
  2. Reamintim: este porțiunea de valori care sunt identificate corect ca pozitive de către model. Este, de asemenea, denumită rata pozitivă adevărată sau sensibilitate. Formula sa iese a fi TP/ (TP+FN).
  3. Scor F-1: este media armonică a preciziei și a reamintirii. Înseamnă că dacă ar fi să comparăm două modele, atunci această măsurătoare va suprima valorile extreme și va lua în considerare atât Fals Pozitive, cât și Fals Negative în același timp. Poate fi citat ca 2*Precizie*Recall/ (Precizie+Recall).
  4. Acuratețe: este porțiunea de valori care sunt identificate corect, indiferent dacă sunt pozitive sau negative. Înseamnă că toate Adevăratele pozitive și Adevăratele negative sunt incluse în aceasta. Formula pentru aceasta este (TP+TN)/ (TP+TN+FP+FN).

Dintre toți termenii, precizia și reamintirea sunt cele mai utilizate pe scară largă. Compensația lor este o măsură utilă a succesului unei predicții. Modelul dorit ar trebui să aibă o precizie ridicată și o reamintire ridicată, dar aceasta este doar în date perfect separabile. În cazurile practice de utilizare, datele sunt extrem de neorganizate și dezechilibrate.

Cum se creează cod pentru Confusion Matrix în Python?

Biblioteca sklearn oferă o varietate de funcționalități pentru a efectua toate sarcinile de învățare automată cu cea mai mare acuratețe și aproape totul a fost implementat aici. Luați în considerare celebrul set de date Iris cu toate instrucțiunile de import deja făcute, codul pentru matricea de confuzie ar fi:

iris = datasets.load_iris()

X = iris.date

y = iris.tinta

class_names = iris.target_names

X_train, X_test, y_train, y_test = tren_test_split (X, y, stare_aleatorie = 0 )

clasificator = svm.SVC (kernel = 'liniar' , C = 0,01 ) . potrivire(X_train, y_train)

plot_confusion_matrix(clasificator, X_test, y_test,display_labels = class_names,cmap = plt . cm . Blues)

Notă: Matricea returnată de aceasta are laturile inversate, aici în stânga avem valorile reale, iar în partea de sus, avem valorile prezise. Dacă doriți să evitați confuzia, executați această funcție pentru a obține un rezumat detaliat (raport de clasificare) în loc să îl calculați manual:

print(raport_clasificare(y_true=y_test, y_pred=y_pred, target_names=class_names))

Citește și: Algoritmul de învățare profundă

Pe care să folosești și unde?

Aceasta este cea mai frecventă întrebare care apare în timpul modelării datelor, iar soluția se află în domeniul declarației problemei. Luați în considerare aceste două cazuri:

  1. Să presupunem că preziceți dacă persoana va avea un stop cardiac. În acest scenariu, nu vă puteți permite nicio clasificare greșită și toate predicțiile făcute ar trebui să fie corecte. Acestea fiind spuse, costul Fals Negative este mare, astfel încât persoana a fost predispusă la atac, dar a fost prezis ca fiind sigură. Aceste cazuri ar trebui evitate. În aceste situații, avem nevoie de un model cu reamintire ridicată.
  2. Să presupunem că un motor de căutare a furnizat rezultate aleatoare care sunt toate prezise ca pozitive de către model, atunci există foarte puține posibilități ca utilizatorul să se bazeze pe el. Prin urmare, în acest scenariu, avem nevoie de un model de mare precizie, astfel încât experiența utilizatorului să se îmbunătățească, iar site-ul web să crească în direcția corectă.

Concluzie

Matricea de confuzie este o metodă excelentă de a evalua un model de clasificare. Oferă o perspectivă reală cu privire la cât de exact modelul a clasificat clasele pe baza intrărilor furnizate și modul în care această clasă poate fi clasificată greșit.

Dacă sunteți interesat să aflați mai multe despre învățarea automată, consultați Diploma PG de la IIIT-B și upGrad în Învățare automată și AI, care este concepută pentru profesioniști care lucrează și oferă peste 450 de ore de pregătire riguroasă, peste 30 de studii de caz și sarcini, IIIT- B Statut de absolvenți, peste 5 proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Conduceți revoluția tehnologică condusă de inteligența artificială

PG DIPLOMĂ ÎN ÎNVĂŢAREA MACHINĂ ŞI INTELIGENTĂ ARTIFICIALĂ
Aflați mai multe