F1-Score
F1-Score'un makine öğrenmesi modellerini değerlendirmek için kesinlik ve duyarlılığı nasıl dengelediğini öğren. Daha iyi doğruluk için Ultralytics YOLO26 performansını nasıl optimize edeceğini keşfet.
F1-Skoru, kesinlik ve geri çağırmayı tek bir harmonik ortalamada birleştiren, makine öğrenimindeki kritik bir performans metriğidir. Özellikle veri kümesinin dengesiz olduğu veya yanlış pozitifler ile yanlış negatiflerin farklı maliyetler taşıdığı sınıflandırma modellerini değerlendirmek için kullanışlıdır. Bir sınıfın veri kümesine baskın olduğu durumlarda yanıltıcı olabilen basit doğruluk ölçütünün aksine F1-Skoru, bir modelin hataları en aza indirirken ilgili örnekleri doğru şekilde belirleme becerisine daha dengeli bir bakış sunar. Aşırı değerleri cezalandırarak yüksek bir skorun yalnızca hem kesinlik hem de geri çağırma makul ölçüde yüksek olduğunda elde edilmesini sağlar; bu da onu tıbbi tanıdan bilgi erişimine kadar uzanan alanlarda temel bir metrik hâline getirir.
F1-Skoru Makine Öğreniminde Neden Önemlidir?#
Gerçek dünyadaki birçok senaryoda, doğru tahminlerin yüzdesini (doğruluk) bilmek tek başına yeterli değildir. Örneğin, anomali tespitinde normal durumlar anomalilerden çok daha fazladır. Her girdiyi "normal" olarak tahmin eden bir model %99 doğruluk elde edebilir, ancak gerçek sorunları tespit etmekte işe yaramaz. F1-Skoru bunu iki birbiriyle rekabet eden metriği dengeleyerek ele alır:
- Kesinlik: Bu metrik, pozitif tahminlerin kalitesini ölçer. Şu soruyu yanıtlar: "Modelin pozitif olarak etiketlediği tüm örneklerin kaçı gerçekten pozitifti?"
- Geri çağırma: Bu metrik, pozitif tahminlerin miktarını ölçer. Şu soruyu yanıtlar: "Gerçek pozitif örneklerin tamamından kaçını model doğru şekilde belirledi?"
Genellikle bir ödünleşim söz konusu olduğundan—kesinliği artırmak geri çağırmayı düşürme, bunun tersi de geri çağırmayı artırmak kesinliği düşürme eğilimindedir—F1-Skoru en uygun denge noktasını bulmak için birleşik bir metrik görevi görür. Bu, çeşitli koşullarda sağlam performans elde etmek amacıyla modelleri hiperparametre optimizasyonu kullanarak ayarlarken kritik önem taşır.
Gerçek Dünya Uygulamaları#
F1-Skorunun faydası, hata maliyetinin önemli olduğu çeşitli sektörlere uzanır.
- Tıbbi Tanı: Sağlık hizmetlerinde yapay zekâ kapsamında, özellikle tümör tespiti gibi görevlerde yanlış negatif (tümörü gözden kaçırma) yaşamı tehdit ederken yanlış pozitif (iyi huylu dokuyu şüpheli olarak işaretleme) gereksiz endişeye neden olur. F1-Skoru, araştırmacıların YOLO26 gibi modelleri, sistemin hastalıkları yakalayacak kadar hassas olmasını ve doktorları yanlış alarmlarla bunaltmamasını sağlayacak şekilde optimize etmesine yardımcı olur.
- Bilgi Erişimi ve Arama: Arama motorları ve belge sınıflandırma sistemleri, alaka düzeyini değerlendirmek için F1-Skorunu kullanır. Kullanıcılar ilgili tüm belgeleri görmek (yüksek geri çağırma) ister, ancak ilgisiz sonuçlar arasında gezinmek (yüksek kesinlik) istemez. Yüksek bir F1-Skoru, motorun doğru bilgileri gereksiz kalabalık oluşturmadan etkili şekilde getirdiğini gösterir.
- Spam Filtreleme: E-posta hizmetleri, spam iletileri ayırmak için metin sınıflandırmayı kullanır. Sistem spam e-postaları yakalamalı (geri çağırma), ancak önemli iş e-postalarını gereksiz posta olarak etiketlememelidir (kesinlik). F1-Skoru, bu filtreler için temel kıstas görevi görür.
Ultralytics ile F1-Skoru Hesaplama#
Modern bilgisayarlı görü çerçeveleri, bu metriklerin hesaplanmasını kolaylaştırır. Nesne tespit modelleri eğitilirken F1-Skoru doğrulama aşamasında otomatik olarak hesaplanır. Ultralytics Platformu, bu metrikleri gerçek zamanlı grafiklerde görselleştirerek kullanıcıların F1-Skoru eğrisini farklı güven eşiklerine göre görmesini sağlar.
F1-Skorunun bileşenleri de dâhil olmak üzere doğrulama metriklerine Python API'sini kullanarak şu şekilde erişebilirsin:
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-Skoru ve İlgili Metrikler#
Projen için doğru aracı seçmek amacıyla F1-Skorunun diğer değerlendirme ölçütlerinden nasıl farklılaştığını anlamak önemlidir.
- Doğruluktan Farkı: Doğruluk, tüm hatalara eşit şekilde yaklaşır. F1-Skoru, pozitif sınıfın (ilgilenilen azınlık sınıfının) performansına odaklandığı için dengesiz veri kümelerinde daha üstündür.
- mAP ile İlişkisi: Ortalama Kesinlik (mAP), nesne tespit modellerini tüm güven eşikleri genelinde karşılaştırmak için kullanılan standarttır. Bununla birlikte F1-Skoru, dağıtım için en uygun güven eşiğini belirlemede sıklıkla kullanılır. Uygulamanı dağıtmak için F1 eğrisinin tepe yaptığı eşiği seçebilirsin.
- Karmaşıklık Matrisi: Karmaşıklık matrisi, F1-Skorunun türetildiği ham sayımları (doğru pozitifler, yanlış pozitifler vb.) sağlar. Matris ayrıntılı bilgi sunarken F1-Skoru, hızlı karşılaştırma için tek bir özet istatistik sağlar.
- ROC-AUC: Eğri Altındaki Alan (AUC), tüm eşikler genelindeki ayrıştırılabilirliği ölçer. Sınıf dağılımı oldukça çarpık olduğunda (örneğin dolandırıcılığın nadir olduğu dolandırıcılık tespitinde) F1-Skoru genellikle ROC-AUC'ye tercih edilir.
F1-Skorunu İyileştirme#
Modelin düşük bir F1-Skorundan muzdaripse çeşitli stratejiler yardımcı olabilir. Veri artırma, pozitif örneklerin çeşitliliğini artırarak modelin daha iyi genelleme yapmasına yardımcı olabilir. Güçlü temel modellerden aktarım öğrenmesini kullanmak, ağın önceden öğrenilmiş özelliklerden yararlanmasını sağlar. Ayrıca çıkarım sırasında güven eşiğini ayarlamak, kendi kullanım alanına özel F1-Skorunu en üst düzeye çıkarmak için kesinlik ve geri çağırma arasındaki dengeyi manuel olarak değiştirmene olanak tanır.









