Pomocí sklearn.metrics v Pythonu jsem při testování metrik modelu vypočítal průměrnou přesnost (s average_precision_score) a přesnost (s klasifikací_report). Dostal jsem však různé odpovědi (0,89 proti 0,93). Přečetl jsem si dokumentaci pro oba a vím, že rovnice se liší, ale doufal jsem, že dostanu intuitivní vysvětlení rozdílů mezi těmito dvěma a kdy použít jednu nad druhou.
Komentáře
- Pro lidi bude obtížné řešit. Měli byste odkazovat na dokumentaci, se kterou máte potíže s interpretací, & zkopírovat konkrétní text / rovnice, kterým ' nerozumíte. Atd. Musíte poskytnout dostatečný kontext, aby to bylo možné interpretovat. Chceme, aby zde vlákna byla samostatná.
- Tento článek obsahuje podrobný popis s příklady Rozdělení průměrné průměrné přesnosti (mAP)
Odpověď
Přesnost označuje přesnost při určitém prahu rozhodnutí. Například pokud počítáte jakýkoli výstup modelu menší než 0,5 jako záporný a větší než 0,5 jako kladný. Ale někdy (zejména pokud vaše třídy nejsou vyvážené nebo pokud chcete upřednostňovat přesnost před odvoláním nebo naopak), možná budete chtít tuto hranici změnit. Průměrná přesnost vám dává průměrnou přesnost na všech takových možných prahových hodnotách, která je také podobná oblasti pod křivkou vyvolání přesnosti. Je to užitečná metrika k porovnání toho, jak dobře modely objednávají předpovědi, bez ohledu na konkrétní prahovou hodnotu pro rozhodování.
Odkaz: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html
Odpověď
Přesnost je Pr = TP / (TP + FP), kde je TP a FP jsou Pravá pozitiva a Falešná pozitivita. Tuto metriku tedy používáme k vyhodnocení systémů, jako jsou klasifikátory, abychom věděli, jak přesně jsme našli pozitiva. pokud váš klasifikátor označil položku True, i když je ve skutečnosti False, zvyšuje FP, což zase snižuje Pr. Váš systém tedy není přesný. takže v případě klasifikátorů nepotřebujeme vědět, která položka má nejvyšší pravděpodobnost, že patří do třídy nebo podobných věcí.
kde, řekněme, jste vytvořili aplikaci, která hledá hudbu videa. pokud tedy dojde k dotazu na skladbu (řekněme, že se chci osvobodit), pokud prvních 5 načtených položek z dotazu vůbec nesouvisí s písní nebo skupinou „Queen“ a položky od 6 do 10 souvisí pro ně je vaše aplikace naprostým odpadem. takže v těchto případech, kde záleží na pořadí, vypočítáme přesnost a vyvolání (Re = TP / (TP + FN)) a plocha pod křivkou je MAP (průměrná průměrná přesnost).
Intuice za Myšlenka je následující, protože počet opravdových záznamů v reálném je pevný, přechod na další záznam buď zvyšuje vyvolání (když se setkáte se skutečným pozitivem), nebo ho udržuje stejný (když narazíte na falešně pozitivní), kde se snižuje přesnost pokud došlo k FP) a zůstane stejný nebo se zvýší (pokud došlo k TP), takže pokud na začátku získáte irelevantní výsledky, přesnost zůstane téměř 0, což způsobí, že vaše MAP 0, kde jako byste našli všechny přesné výsledky na počínaje (což v podstatě znamená nulové FP), takže přesnost je blízko 1, výsledkem je MAP blízko k 1., který váš systém osvědčuje jako nejlepší
tento článek poskytuje podrobný popis s příklady