Python'da f1 puanı nasıl hesaplanır (örnek dahil)


Makine öğreniminde sınıflandırma modellerini kullanırken model kalitesini değerlendirmek için kullandığımız yaygın bir ölçüm F1 puanıdır .

Bu metrik şu şekilde hesaplanır:

F1 puanı = 2 * (Hassaslık * Geri Çağırma) / (Hassaslık + Geri Çağırma)

Altın:

  • Doğruluk : Pozitif tahminleri toplam pozitif tahminlere göre düzeltin
  • Hatırlatma : Pozitif tahminlerin toplam gerçek pozitiflere göre düzeltilmesi

Örneğin, 400 farklı üniversite basketbol oyuncusunun NBA’e alınıp alınmayacağını tahmin etmek için lojistik regresyon modeli kullandığımızı varsayalım.

Aşağıdaki karışıklık matrisi, modelin yaptığı tahminleri özetlemektedir:

Modelin F1 puanını şu şekilde hesaplayabilirsiniz:

Doğruluk = Doğru Pozitif / (Doğru Pozitif + Yanlış Pozitif) = 120/ (120+70) = 0,63157

Hatırlama = Doğru Pozitif / (Doğru Pozitif + Yanlış Negatif) = 120 / (120+40) = 0,75

F1 puanı = 2 * (.63157 * .75) / (.63157 + .75) = . 6857

Aşağıdaki örnek, Python’da tam olarak bu model için F1 puanının nasıl hesaplanacağını gösterir.

Örnek: Python’da F1 puanını hesaplama

Aşağıdaki kod, belirli bir öngörülen değerler ve gerçek değerler dizisi için F1 puanını hesaplamak amacıyla Python’daki sklearn paketinin f1_score() işlevinin nasıl kullanılacağını gösterir.

 import numpy as np
from sklearn. metrics import f1_score

#define array of actual classes
actual = np. repeat ([1, 0], repeats=[160, 240])

#define array of predicted classes
pred = np. repeat ([1, 0, 1, 0], repeats=[120, 40, 70, 170])

#calculate F1 score
f1_score(actual, pred)

0.6857142857142857

F1 puanının 0,6857 olduğunu görüyoruz. Bu, daha önce manuel olarak hesapladığımız değerle eşleşiyor.

Not : f1_score() işlevine ilişkin tüm belgeleri burada bulabilirsiniz.

F1 puanlarının kullanımına ilişkin notlar

Birden fazla modeli karşılaştırmak için F1 puanını kullanırsanız, en yüksek F1 puanına sahip model, gözlemleri sınıflara göre en iyi şekilde sınıflandırabilen modeli temsil eder.

Örneğin verilere başka bir lojistik regresyon modeli uydurursanız ve o modelin F1 puanı 0,75 ise o modelin F1 puanı daha yüksek olduğu için daha iyi kabul edilecektir.

Ek kaynaklar

Python’da Lojistik Regresyon Nasıl Gerçekleştirilir
Python’da Karışıklık Matrisi Nasıl Oluşturulur
Python’da dengeli hassasiyet nasıl hesaplanır
F1 Puanı ve Doğruluk: Hangisini Kullanmalısınız?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir