Folosind sklearn.metrics în Python, am calculat precizia medie (cu average_precision_score) și precizia (cu classification_report) în timp ce testam valorile modelului. Cu toate acestea, am primit răspunsuri diferite (0,89, respectiv 0,93). Am citit documentația pentru ambele și știu că ecuațiile sunt diferite, dar speram să obțin o explicație intuitivă despre diferențele dintre cele două și când să folosesc una peste alta.
Comentarii
- Acest lucru va fi greu de abordat de către oameni. Ar trebui să vă conectați la documentația pe care întâmpinați probleme de interpretare, & copiați textul / ecuațiile specifice pe care nu ' nu le înțelegeți. Etc. Trebuie să oferiți suficient context pentru ca acest lucru să poată fi interpretat. Vrem ca firele de aici să poată sta singure.
- acest articol oferă o descriere detaliată cu exemple Defalcarea medie a preciziei medii (mAP)
Răspuns
Precizia se referă la precizia la un anumit prag de decizie. De exemplu, dacă numărați orice ieșire de model mai mică de 0,5 ca negativă și mai mare de 0,5 ca pozitivă. Dar uneori (mai ales dacă clasele dvs. nu sunt echilibrate sau dacă doriți să favorizați precizia în loc de rechemare sau invers), poate doriți să modificați acest prag. Precizia medie vă oferă o precizie medie la toate aceste praguri posibile, care este, de asemenea, similară cu zona de sub curba de recuperare a preciziei. Este o valoare utilă pentru a compara cât de bine modelele ordonează predicțiile, fără a lua în considerare niciun prag de decizie specific.
Referință: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html
Răspuns
Precizia este Pr = TP / (TP + FP) unde este TP și FP sunt adevărați pozitivi și falsi pozitivi. deci, folosim această valoare pentru a evalua sisteme precum clasificatorii pentru a ști cât de precis am găsit pozitive. dacă clasificatorul dvs. a marcat o intrare True, chiar dacă este False în real, crește FP, care la rândul său scade Pr. Deci sistemul dvs. nu este precis. deci, în cazul clasificatorilor, nu trebuie să știm care intrare are cea mai mare probabilitate de a aparține unei clase sau a unor astfel de lucruri.
unde, așa cum să spunem, ați creat o aplicație care caută muzică Videoclipuri. deci, dacă se face o interogare despre o melodie (să spunem că vreau să mă eliberez), dacă primele 5 intrări preluate din interogare nu sunt deloc legate de melodie sau de trupa „Queen” și intrările de la 6 la 10 sunt legate pentru ei, atunci aplicația dvs. este o risipă totală. deci, în aceste cazuri în care ordinea contează, calculăm precizia și rechemarea (Re = TP / (TP + FN)), iar aria de sub curbă este MAP (precizie medie medie)
Intuiția din spatele ideea este următoarea, întrucât numărul de intrări adevărate în real este fix, trecerea la o intrare următoare fie mărește rechemarea (când întâlnești adevăratul pozitiv), fie o păstrează la fel (când întâlnești un fals pozitiv) unde pe măsură ce precizia scade ( dacă FP a fost întâlnit) și rămâne același sau crește (dacă TP a fost întâlnit), deci, dacă obțineți rezultate irelevante la pornire, precizia rămâne aproape 0, ceea ce face MAP-ul dvs. 0, de parcă veți găsi toate rezultatele exacte la pornire (care înseamnă practic FP zero), astfel încât precizia este aproape de 1, rezultă MAP aproape de 1. ceea ce certifică sistemul dvs. ca fiind cel mai bun
acest articol oferă o descriere detaliată cu exemple