Az átlagos pontosság (AP) a pontosság-visszahívási görbe alatt van (a PR-görbe AUC-ja)?
SZERKESZTÉS:
itt van megjegyzés a PR AUC és AP különbségéről.
Az AUC-t a pontosság trapéz alakú interpolációjával kapjuk meg. Alternatív és általában majdnem egyenértékű mutató az átlagos pontosság (AP), amelyet info.ap néven adunk vissza. Ez annak a pontosságnak az átlaga, amelyet minden új pozitív minta visszahívásakor elértünk. Ez megegyezik az AUC-val, ha a pontosságot állandó szegmensek interpolálják, és a TREC ezt a definíciót használja leggyakrabban.
http://www.vlfeat.org/overview/ plots-rank.html
Ráadásul az auc és az average_precision_score eredmények nem egyeznek a scikit-learnben. Ez furcsa, mert a dokumentációban a következők vannak:
Számítsa ki az átlagos pontosságot (AP) az előrejelzési pontszámokból Ez a pontszám megfelel a precíziós-visszahívási görbe alatti területnek. >
itt van a kód:
# Pontosság-visszahívás és görbe görbe pontosság, visszahívás, küszöbértékek = precíziós_hívás_görbe (y_test, clf.predict_proba (X_test) [:, 1]) terület = auc (visszahívás, precízió) print "A PR görbe alatti terület (AP):% 0.2f"% area # meg kell egyeznie az AP-vel? print 'AP', átlagos_precision_score (y_test, y_pred, átlag = 'súlyozott') print 'AP' , average_precision_score (y_test, y_pred, átlagos = 'makró') print 'AP', átlagos_precision_score (y_test, y_pred, average = 'mikro') print 'AP', átlagos_precision_score (y_test, y_pred, átlag = 'minták')
az osztályozóm számára valami ilyesmi van:
PR görbe alatti terület (AP): 0.65AP 0.676101781304AP 0.676101781304AP 0.676101781304AP 0.676101781304