Ved hjælp af sklearn.metrics i Python beregnede jeg gennemsnitspræcision (med gennemsnitspræcision_score) og præcision (med klassificeringsrapport), mens jeg testede modelmålinger. Jeg fik dog forskellige svar (henholdsvis 0,89 vs 0,93). Jeg læste dokumentationen for begge og ved, at ligningerne er forskellige, men jeg håbede på at få en intuitiv forklaring om forskellene mellem de to og hvornår jeg skulle bruge den ene over den anden.
Kommentarer
- Dette bliver svært for folk at adressere. Du skal linke til den dokumentation, du har problemer med at fortolke, & kopier den specifikke tekst / ligninger, du ikke ' ikke forstår. Etc. Du skal give tilstrækkelig kontekst til, at dette kan tolkes. Vi ønsker, at tråde her skal kunne stå alene.
- denne artikel giver en detaljeret beskrivelse med eksempler Breaking Down Mean Average Precision (mAP)
Svar
Præcision refererer til præcision ved en bestemt beslutningstærskel. Hvis du f.eks. Tæller en hvilken som helst modeloutput mindre end 0,5 som negativ, og større end 0,5 som positiv. Men nogle gange (især hvis dine klasser ikke er afbalancerede, eller hvis du vil favorisere præcision frem for tilbagekaldelse eller omvendt), vil du måske variere denne tærskel. Gennemsnitlig præcision giver dig gennemsnitlig præcision ved alle sådanne mulige tærskler, hvilket også svarer til området under præcision-tilbagekaldelseskurven. Det er en nyttig måling at sammenligne, hvor godt modeller ordner forudsigelserne uden at overveje nogen specifik beslutningstærskel.
Reference: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html
Svar
Præcision er Pr = TP / (TP + FP) hvor er TP og FP er sande positive og falske positive. så vi bruger denne måling til at evaluere systemer som klassifikatorer for at vide, hvor præcist vi fandt positive. hvis din klassifikator markerede en post Sand, selvom den er falsk i virkeligheden, øges den FP, hvilket igen reducerer Pr. Så dit system er ikke præcist. så i tilfælde af klassifikatorer behøver vi ikke vide, hvilken post der har størst sandsynlighed for at tilhøre en klasse eller lignende.
hvor som lad os sige, at du byggede en app, der søger efter musik videoer. så hvis der foretages en forespørgsel om en sang (lad os sige, at jeg vil bryde fri), hvis de første 5 hentede poster fra forespørgslen overhovedet ikke er relateret til sangen eller bandet “Queen” og poster fra 6 til 10 er relateret til dem, så er din app fuldstændig spild. så i disse tilfælde, hvor ordren betyder noget, beregner vi præcision og tilbagekaldelse (Re = TP / (TP + FN)), og arealet under kurven er MAP (gennemsnitlig gennemsnitlig præcision)
Intuitionen bag Idéen er som følger, da antallet af sande poster i virkeligheden er faste, og ved at flytte til en næste post øges enten tilbagekaldelsen (når du støder på ægte positiv) eller holder den den samme (når du støder på en falsk positiv) hvor som præcision falder ( hvis FP blev stødt) og forbliver den samme eller øges (hvis TP blev stødt), så hvis du får irrelevante resultater i starten, forbliver præcisionen næsten 0, hvilket gør din MAP 0, hvor som om du finder alle de nøjagtige resultater på start (hvilket grundlæggende betyder nul FPer), så præcisionen er tæt på 1, resulterer i MAP tæt på 1. der certificerer dit system som det bedste
denne artikel giver en detaljeret beskrivelse med eksempler