평균 정밀도 (AP)는 정밀도-회귀 곡선 (PR- 곡선의 AUC) 하의 영역입니까?
편집하다:
다음은 PR AUC와 AP의 차이점에 대한 의견입니다.
AUC는 정밀도의 사다리꼴 보간에 의해 얻어진다. 대체적이고 대체로 거의 동등한 메트릭은 info.ap로 반환되는 평균 정밀도 (AP)입니다. 이것은 새로운 양의 샘플이 리콜 될 때마다 얻은 정밀도의 평균입니다. 정밀도가 일정한 세그먼트에 의해 보간되고 TREC에서 가장 자주 사용되는 정의 인 경우 AUC와 같습니다.
http://www.vlfeat.org/overview/plots-rank.html
또한, AUC 와 average_precision_score 결과는 scikit 배우기에 동일하지 않습니다. 이것은 문서에서 우리가 가지고 있기 때문에 이상합니다.
예측 점수에서 계산 평균 정밀도 (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