Hassas Geri Çağırma Eğrisi (PR eğrisinin AUC'si) ve Ortalama Hassasiyet (AP) altındaki alan


27

Ortalama Hassasiyet (AP), Hassas Geri Çağırma Eğrisi altındaki Alan mı (PR eğrisi AUC'si)?

DÜZENLE:

PR AUC ve AP'deki farklılıklar hakkında bazı yorumlar.

AUC, hassasiyetin yamuk enterpolasyonuyla elde edilir. Alternatif ve genellikle neredeyse eşdeğer bir ölçü, info.ap olarak döndürülen Ortalama Kesinliktir (AP). Bu, yeni bir pozitif örnek her çağrıldığında elde edilen hassasiyetin ortalamasıdır. Kesinlik sabit bölümlerle enterpolasyon yaparsa AUC ile aynıdır ve TREC tarafından en sık kullanılan tanımdır.

http://www.vlfeat.org/overview/plots-rank.html

Ayrıca, auc ve average_precision_score sonuçları, scikit-learn ile aynı değildir. Bu garip, çünkü belgelerde biz var:

Tahmin puanlarından ortalama kesinliği (AP) hesaplayın Bu skor, hassas hatırlama eğrisi altındaki alana karşılık gelir.

kod burada:

# 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')

Sınıf arkadaşım için şöyle bir şey var:

Area Under PR Curve(AP): 0.65
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304
AP 0.676101781304

Yanıtlar:


15

Kısa cevap: EVET . Ortalama Hassasiyet, Hassas Geri Çağırma eğrisini özetlemek için kullanılan tek bir sayıdır:

görüntü tanımını buraya girin

İntegrali (eğrinin altındaki alan) yaklaşık olarak:

görüntü tanımını buraya girin

Lütfen iyi bir açıklama için bu bağlantıya göz atın .


Peki ya bu yorum? "AUC, hassasiyetin yamuk enterpolasyonuyla elde edilir. Alternatif ve genellikle hemen hemen eşdeğer bir metrik, info.ap olarak döndürülen Ortalama Kesinliktir (AP). Bu, yeni bir pozitif numune her geri çağrıldığında elde edilen hassasiyetin ortalamasıdır. Kesinlik sabit bölümlerle enterpolasyon yaparsa ve AET ile en sık kullanılan tanım ise AUC ile aynıdır. ” vlfeat.org/overview/plots-rank.html
mrgloom

1
Sanırım verdiğim bağlantıda açıklanan enterpolasyonlu ortalama kesinlikthe average of the precision obtained every time a new positive sample is recalled anlamına geliyor . Bazı yazarlar enterpolasyonlu ortalama hassasiyet olarak adlandırılan alternatif bir yaklaşım seçiyor . Kafa karıştırıcı, hala ortalama hassasiyet diyorlar.
Zhubarb

birkaç hızlı soru: 1) neden koordinat veriyor (hatırlama = 0, kesinlik = 1)? bana hiç mantıklı gelmiyor. 2) gözlemleyebileceğiniz gibi, sınıflandırıcının eşiğini düşürürsek, daha fazla sonuç döndürülebilir ve bunun sonucunda geri çağırma artmayabilir, ancak hassasiyet, örneğin toplamda 2 pozitif öğe ile değişebilir; = [Yanlış, Doğru, Yanlış, Yanlış, Doğru], bu nedenle pr çiftleri = [(p = 0, r = 0), (1/2, 1/2), (1/3, 1/2), (1) / 4, 1/2), (2/5, 2/2)], görebileceğiniz gibi, r = 1/2 için 3 p (yani 1/2, 1/3, 1/4) var , r = 0.8'deki grafiğinizde olduğu gibi, aynı x ekseninde çizmeniz yeterli mi?
avokado

2

average_precision_score işlev ikinci parametre olarak güven veya olasılık bekler.

bu yüzden aşağıdaki gibi kullanmalısın,

average_precision_score(y_test, clf.predict_proba(X_test)[:,1])

ve sonra aucfonksiyonun aynı sonucu .


WEKA yazılımındaki ve scikit-learn'deki farklı örnekler, CLF puanı sağlar ancak AUC'yi sağlamaz. Bu CLF puanının aslında bir şekilde AUC ile ilişkili olması veya hatta AUC olması olabilir mi?
hhh
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.