Чи середня точність (AP) - область під кривою точності нагадування (AUC PR-кривої)?
Редагувати:
ось декілька коментарів про різницю в PR AUC та AP.
AUC отримують трапеційною інтерполяцією точності. Альтернативною і, як правило, майже еквівалентною метрикою є Середня точність (AP), повернена як інформація. Це середнє значення точності, що отримується щоразу, коли відкликається нова позитивна проба. Це те саме, що AUC, якщо точність інтерполюється постійними сегментами і це визначення, яке використовується TREC найчастіше.
http://www.vlfeat.org/overview/plots-rank.html
Більше того, результати аукціону та середня_прецизія_скоре не однакові у scikit-learn. Це дивно, адже в документації ми маємо:
Обчислити середню точність (AP) з балів прогнозування Цей бал відповідає площі під кривою точності нагадування.
ось код:
# 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')
для мого класифікатора у мене є щось на кшталт:
Area Under PR Curve(AP): 0.65
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304