平均精度(AP)は、精度-リコール曲線(PR曲線のAUC)の下の面積ですか?
編集:
PR AUCとAPの違いに関するコメントを次に示します。
AUCは、精度の台形補間によって取得されます。代替の通常ほぼ同等のメトリックは、info.apとして返されるAverage Precision(AP)です。これは、新しい陽性サンプルが呼び出されるたびに取得される精度の平均です。精度が定数セグメントによって補間される場合、AUCと同じであり、TRECが最も頻繁に使用する定義です。
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