F1-Score'un makine öğrenimi modellerini değerlendirmek için hassasiyet ve geri çağırma arasında nasıl bir denge kurduğunu öğrenin. Daha iyi doğruluk için Ultralytics performansını nasıl optimize edebileceğinizi keşfedin.
F1-Score, makine öğreniminde hassasiyet ve geri çağırmayı tek bir harmonik ortalamada birleştiren kritik bir performans ölçütüdür. Veri kümesinin dengesiz olduğu veya yanlış pozitif ve yanlış negatiflerin farklı maliyetler taşıdığı sınıflandırma modellerini değerlendirmek için özellikle yararlıdır. Bir sınıf veri setini domine ederse yanıltıcı olabilen basit doğruluktan farklı olarak, F1-Score, hataları en aza indirirken ilgili örnekleri doğru bir şekilde tanımlama konusunda modelin yeteneğine dair daha dengeli bir görünüm sağlar. Aşırı değerleri cezalandırarak, yüksek bir puanın yalnızca hem hassasiyet hem de geri çağırma makul derecede yüksek olduğunda elde edilmesini sağlar, bu da onu tıbbi tanıdan bilgi erişimine kadar çeşitli alanlarda temel bir ölçüt haline getirir.
Gerçek hayattaki birçok senaryoda, doğru tahminlerin yüzdesini (doğruluk) bilmek yeterli değildir. Örneğin, anomali tespitinde normal durumlar, anomalilerden çok daha fazladır. Her girdi için "normal" tahmini yapan bir model %99 doğruluk elde edebilir, ancak gerçek sorunları tespit etmek için yararsız olacaktır. F1-Score, iki rakip metriği dengeleyerek bu sorunu çözer:
Çoğu zaman bir ödün verme durumu söz konusu olduğundan (hassasiyeti artırmak geri çağırmayı düşürür ve bunun tersi de geçerlidir), F1-Score optimum denge noktasını bulmak için birleşik bir ölçüt görevi görür. Bu, çeşitli koşullarda sağlam performans sağlamak için hiperparametre optimizasyonu kullanarak modelleri ayarlarken çok önemlidir .
F1-Score'un kullanışlılığı, hatanın maliyetinin önemli olduğu çeşitli sektörlere yayılmıştır.
Modern bilgisayar görme çerçeveleri, bu metriklerin hesaplanmasını basitleştirir. Nesne algılama modellerini eğitirken, F1-Score doğrulama aşamasında otomatik olarak hesaplanır. Ultralytics , bu metrikleri gerçek zamanlı grafiklerde görselleştirerek, kullanıcıların farklı güven eşiklerine göre F1-Score eğrisini görmelerini sağlar.
Python kullanarak F1-Score bileşenleri dahil olmak üzere doğrulama metriklerine nasıl erişebileceğiniz aşağıda açıklanmıştır:
from ultralytics import YOLO
# Load a pre-trained YOLO26 model
model = YOLO("yolo26n.pt")
# Validate the model on a dataset (metrics are computed automatically)
# This returns a validator object containing precision, recall, and mAP
metrics = model.val(data="coco8.yaml")
# Print the Mean Average Precision (mAP50-95), which correlates with F1 performance
print(f"mAP50-95: {metrics.box.map}")
# Access precision and recall arrays to manually inspect the balance
print(f"Precision: {metrics.box.p}")
print(f"Recall: {metrics.box.r}")
F1-Score'un diğer değerlendirme kriterlerinden nasıl farklı olduğunu anlamak, projeniz için doğru aracı seçmek açısından çok önemlidir. .
Modeliniz düşük F1-Score değerine sahipse, birkaç strateji yardımcı olabilir. Veri artırma, pozitif örneklerin çeşitliliğini artırabilir ve modelin daha iyi genelleme yapmasına yardımcı olabilir. Sağlam temel modellerden transfer öğrenimi kullanmak , ağın önceden öğrenilmiş özelliklerden yararlanmasını sağlar. Ek olarak, çıkarım sırasında güven eşiğini ayarlamak, kesinlik ve geri çağırma arasındaki dengeyi manuel olarak değiştirerek belirli kullanım durumunuz için F1-Score değerini en üst düzeye çıkarabilir.