¿Es la precisión promedio (AP) el área bajo la curva de recuperación de precisión (AUC de la curva PR)?
EDITAR:
Aquí hay un comentario sobre la diferencia en PR AUC y AP.
El AUC se obtiene por interpolación trapezoidal de la precisión. Una métrica alternativa y generalmente casi equivalente es la precisión promedio (AP), devuelta como info.ap. Este es el promedio de la precisión obtenida cada vez que se recupera una nueva muestra positiva. Es lo mismo que el AUC si la precisión se interpola por segmentos constantes y es la definición utilizada por TREC con mayor frecuencia.
http://www.vlfeat.org/overview/plots-rank.html
Por otra parte, el AUC y los average_precision_score resultados no son los mismos en scikit-learn. Esto es extraño, porque en la documentación tenemos:
Calcular la precisión promedio (AP) a partir de los puntajes de predicción Este puntaje corresponde al área bajo la curva de recuperación de precisión.
Aquí está el código:
# 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')
para mi classifer tengo algo como:
Area Under PR Curve(AP): 0.65
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304