Является ли средняя точность (AP) областью под кривой точного восстановления (AUC PR-кривой)?
РЕДАКТИРОВАТЬ:
Вот некоторые комментарии о разнице в PR AUC и AP.
AUC получается путем трапецеидальной интерполяции точности. Альтернативным и обычно почти эквивалентным показателем является Средняя точность (AP), возвращаемая как info.ap. Это среднее значение точности, получаемой каждый раз, когда вызывается новая положительная выборка. Это то же самое, что и AUC, если точность интерполируется постоянными сегментами, и это определение используется TREC чаще всего.
http://www.vlfeat.org/overview/plots-rank.html
Более того, результаты auc и average_precision_score не одинаковы в 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