La précision moyenne (AP) est-elle la zone sous la courbe de rappel de précision (ASC de la courbe PR)?
MODIFIER:
voici quelques commentaires sur la différence entre PR AUC et AP.
L'AUC est obtenue par interpolation trapézoïdale de la précision. Une métrique alternative et généralement presque équivalente est la précision moyenne (AP), renvoyée sous le nom info.ap. Il s'agit de la moyenne de la précision obtenue à chaque rappel d'un nouvel échantillon positif. C'est la même chose que l'AUC si la précision est interpolée par des segments constants et est la définition utilisée par TREC le plus souvent.
http://www.vlfeat.org/overview/plots-rank.html
De plus, le auc et les average_precision_score résultats ne sont pas les mêmes dans scikit-learn. C'est étrange, car dans la documentation nous avons:
Calculer la précision moyenne (AP) à partir des scores de prédiction Ce score correspond à l'aire sous la courbe précision-rappel.
voici le code:
# Compute Precision-Recall and plot curve
precision, recall, thresholds = precision_recall_curve(y_test, clf.predict_proba(X_test)[:,1])
area = auc(recall, precision)
print "Area Under PR Curve(AP): %0.2f" % area #should be same as AP?
print 'AP', average_precision_score(y_test, y_pred, average='weighted')
print 'AP', average_precision_score(y_test, y_pred, average='macro')
print 'AP', average_precision_score(y_test, y_pred, average='micro')
print 'AP', average_precision_score(y_test, y_pred, average='samples')
pour mon classificateur j'ai quelque chose comme:
Area Under PR Curve(AP): 0.65
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304
the average of the precision obtained every time a new positive sample is recalled
réfère à la précision moyenne interpolée expliquée dans le lien que j'ai donné. Certains auteurs choisissent une autre approximation appelée précision moyenne interpolée . Confusément, ils appellent toujours cela une précision moyenne.average_precision_score
la fonction attend la confiance ou la probabilité comme deuxième paramètre.vous devez donc l'utiliser comme ci-dessous,
puis c'est le même résultat de la
auc
fonction.la source