Precision-Recall Curve
Kesinlik-duyarlılık eğrisi, eşikler boyunca kesinliği duyarlılığa karşı çizerek model performansını ve yanlış alarm ile kaçırılan vakalar arasındaki dengeyi gösterir.
Kesinlik-duyarlılık eğrisi, karar eşiği değiştikçe modelin kesinliğinin ve duyarlılığının nasıl değiştiğini gösteren bir grafiktir. Duyarlılık yatay eksende, kesinlik ise dikey eksende yer alır. Ölçülen her çalışma noktası bir eşikten gelir: modelin kaç pozitif vakayı bulduğu ve pozitif tahminlerinin ne kadar güvenilir olduğu. Eğri, yanlış alarmların ve kaçırılan vakaların farklı maliyetler taşıdığı durumlarda sınıflandırıcıları ve algılayıcıları değerlendirmeye yardımcı olur.
Kesinlik-Duyarlılık Eğrisi Nasıl Çalışır#
Kesinlik, doğru olan pozitif tahminlerin oranıdır: TP / (TP + FP). Duyarlılık, hassasiyet olarak da adlandırılır ve gerçekte pozitif olan vakalardan bulunanların oranıdır: TP / (TP + FN). TP doğru pozitifleri, FP yanlış pozitifleri ve FN yanlış negatifleri ifade eder; bunlar bir karmaşıklık matrisinde sayılan sonuçlardır.
Tahmin puanlarında güven eşiğini taramak, kesinlik-duyarlılık çiftleri üretir. Eşiğin düşürülmesi daha fazla tahminin kabul edilmesini sağlar, dolayısıyla duyarlılık artar veya aynı kalır. Doğru ve yanlış tahminler kümeye girdikçe kesinlik her iki yönde de değişebilir ve basamak biçimli bir eğri oluşur.
Cyril Cleverdon, kesinlik-duyarlılık değerlendirmesinin bilgi erişimi kökenlerini ortaya koyan 1962 Cranfield raporunda duyarlılık-ilgililik grafiklerini tanıttı. Belge aramada, bulunan ilgili belgeler doğru pozitif; bulunan ilgisiz belgeler ise yanlış pozitiftir.
Eğriyi ve Başlangıç Çizgisini Yorumlama#
Duyarlılık 1'e yaklaşırken yüksek kesinliği koruyan bir eğri, güçlü performansa işaret eder. Eğriler kesiştiğinde her model farklı bir çalışma bölgesinde daha iyi performans gösterir. Kesinlikteki keskin düşüş, ek tahminlerin çok sayıda yanlış alarma yol açtığı noktayı gösterir.
Bilgi taşımayan rastgele bir sıralamanın başlangıç çizgisi, pozitif sınıfın yaygınlığıdır; yani pozitif etiketli örneklerin oranıdır. Pozitif örneklerin oranı %1 olduğunda başlangıç kesinliği 0,01'dir. Yaygınlığın değişmesi kesinliği değiştirir; bu nedenle değerlendirme popülasyonu da sonucun bir parçasıdır.
Alıcı işletim karakteristiği (ROC) eğrisi bunun yerine duyarlılığı, yanlış pozitif oranına (FP / (FP + TN)) karşı çizer; TN, doğru negatifleri ifade eder. Kesinlik-duyarlılık değerlendirmesi, doğru olan uyarıların oranını doğrudan ifade ettiğinden pozitif örneklerin nadir olduğu durumlarda kullanışlıdır. Doğruluk, çoğunluk sınıfının etkisi altında kalabilir.
Çalışma Eşiğini Seçme#
Hata maliyetlerine göre doğrulama verileri üzerinde bir çalışma noktası seç. Gerekli asgari duyarlılık için koşulu sağlayan noktalar arasından kesinliği en yüksek olanı; asgari kesinlik içinse koşulu sağlayan noktalar arasından duyarlılığı en yüksek olanı seç. Kesinlik ve duyarlılığın harmonik ortalaması olan F1 skoru, iki metriğe de eşit ağırlık verir. Eşik değerleri, temel puanlardan veya kesinlik-güven ve duyarlılık-güven grafiklerinden elde edilir.
Ultralytics YOLO tahmini, puanlanmış algılamaları filtreleyen conf aracılığıyla bu seçeneği sunar. YOLO26n modelinin dört COCO8 doğrulama görüntüsü üzerinde IoU 0.50'de değerlendirildiği bir Academy değerlendirmesinde, conf değerinin 0.10'dan 0.25'e çıkarılması, kişi sınıfı için enterpole edilmiş kesinlik/duyarlılık değerlerini 0.63/0.80'den 1.00/0.54'e değiştirdi: daha az yanlış alarm, daha fazla kişinin kaçırılması anlamına geldi.
Ayrı test verilerini değerlendirirken seçilen eşiği sabit tut.
Python'da Kesinlik-Duyarlılık Eğrisi Çizme#
Bu örnekte, birlikte sunulan görüntüler ve lojistik regresyon kullanılarak el yazısı 9 rakamı diğer rakamlardan ayırt edilir. Bağımlılıkları pip install scikit-learn matplotlib ile yükle, ardından scikit-learn'in kesinlik-duyarlılık grafiği çizme API'sini kullan.
import matplotlib.pyplot as plt
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import PrecisionRecallDisplay
from sklearn.model_selection import train_test_split
X, digits = load_digits(return_X_y=True)
y = digits == 9
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=42)
model = LogisticRegression(max_iter=2000)
model.fit(X_train, y_train)
PrecisionRecallDisplay.from_estimator(model, X_test, y_test)
plt.savefig("precision_recall_curve.png", bbox_inches="tight")Kaydedilen grafik, eğitimde kullanılmamış rakam görüntüleri için elde edilebilir her duyarlılık düzeyindeki kesinliği gösterir.
Nesne Algılama ve Ortalama Kesinlik#
Nesne algılamada, tahmin edilen bir sınırlayıcı kutu, aynı sınıftan ve daha önce eşleştirilmemiş, etiketlenmiş bir nesneyle kesişim-birleşim (IoU) eşiğinde veya bu eşiğin üzerinde eşleştiğinde doğru pozitif sayılır. Yinelenenler de dâhil olmak üzere eşleşmeyen tahminler yanlış pozitif sayılır. IoU koşulu sabit tutulur ve her sınıf için ayrı bir eğri oluşturulur.
Ortalama kesinlik (AP), eğriyi duyarlılık düzeyleri boyunca özetler. Yamuk yöntemiyle hesaplanan PR-AUC ile enterpolasyon uygulanmayan AP, farklı integrasyon kuralları kullanır. Ortalama ortalama kesinlik (mAP), sınıf AP değerlerinin ortalamasını alır. Algılama performansı metriklerinde, mAP50 IoU 0.50 değerini kullanırken mAP50–95, 0.50'den 0.95'e kadar 0.05 artışlarla belirlenen on IoU eşiğinin ortalamasını alır.










