Genomsnittlig precision vs precision

Med hjälp av sklearn.metrics i Python beräknade jag genomsnittlig precision (med genomsnittlig_precision_score) och precision (med klassificeringsrapport) medan jag testade modellvärden. Men jag fick olika svar (0,89 respektive 0,93). Jag läste dokumentationen för båda och vet att ekvationerna är olika, men jag hoppades få en intuitiv förklaring om skillnaderna mellan de två och när man skulle använda den ena över den andra.

Kommentarer

  • Detta kommer att bli svårt för människor att ta itu med. Du bör länka till dokumentationen som du har problem med att tolka. & kopiera den specifika text / ekvationer som du inte ' inte förstår. Etc. Du måste ange tillräckligt sammanhang för att detta ska kunna tolkas. Vi vill att trådar här ska kunna stå ensamma.
  • den här artikeln ger en detaljerad beskrivning med exempel Breaking Down Average Average Precision (mAP)

Svar

Precision avser precision vid ett visst beslutströskel. Om du till exempel räknar någon modell som är mindre än 0,5 som negativ och större än 0,5 som positiv. Men ibland (särskilt om dina klasser inte är balanserade, eller om du vill gynna precision framför återkallelse eller tvärtom), kanske du vill variera denna tröskel. Genomsnittlig precision ger dig genomsnittlig precision vid alla sådana möjliga trösklar, vilket också liknar området under kurvan för precisionsåterkallning. Det är ett användbart mått att jämföra hur bra modellerna ordnar förutsägelserna utan att beakta något specifikt beslutströskel.

Referens: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html

Svar

Precision är Pr = TP / (TP + FP) där är TP och FP är sanna positiva och falska positiva. så vi använder detta mått för att utvärdera system som klassificatorer för att veta hur exakt vi hittade positiva. om din klassificerare markerade en post True även om den är False in real, ökar den FP, vilket i sin tur minskar Pr. Så ditt system är inte exakt. så när det gäller klassificerare behöver vi inte veta vilken post som har störst sannolikhet för att tillhöra en klass eller sådant.

där vi säger att du byggde en app som söker efter musik videoklipp. så om en fråga görs om en låt (låt oss säga att jag vill bryta mig loss), om de fem första hämtade posterna från frågan inte alls är relaterade till låten eller bandet ”Queen” och poster från 6 till 10 är relaterade för dem, då är din app helt slöseri. så, i dessa fall där ordern spelar roll beräknar vi precision och återkallande (Re = TP / (TP + FN)) och arean under kurvan är MAP (medelgenomsnittlig precision)

Intuitionen bakom Idén är som följer, eftersom antalet riktiga poster i reala är fasta, flytta till nästa post antingen ökar återkallelsen (när du stöter på riktigt positiv) eller håller den densamma (när du stöter på en falsk positiv) där när precision minskar ( om FP påträffades) och förblir densamma eller ökar (om TP påträffades), så om du får irrelevanta resultat i början förblir precisionen nästan 0, vilket gör din MAP 0, där som om du hittar alla exakta resultat vid start (vilket i grunden betyder noll FP) så precisionen är nära 1, resulterar i MAP nära 1. vilket certifierar ditt system som det bästa

den här artikeln ger en detaljerad beskrivning med exempel

Fördelning av genomsnittlig genomsnittlig precision (mAP)

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *