F1 skoru
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 101/112
- 5 dk
F1, precision ve recall'un harmonik ortalamasıdır.
F-beta
F1, kesinlik ve duyarlılığa eşit ağırlık verir. F-beta dengeyi ayarlar: β > 1 duyarlılığı, β < 1 kesinliği öne çıkarır.
from sklearn.metrics import fbeta_score
print(fbeta_score(y_true, y_pred, beta=2)) # duyarlılık öncelikli
print(fbeta_score(y_true, y_pred, beta=0.5)) # kesinlik öncelikliHastalık taramasında F2, spam filtresinde F0.5 doğal seçimlerdir.
F1'i en yükselten eşik
precision_recall_curve tüm eşikler için kesinlik ve duyarlılığı verir; buradan her eşiğin F1'i hesaplanıp en iyisi seçilebilir:
from sklearn.metrics import precision_recall_curve
pr, re, esik = precision_recall_curve(y_val, p_val)
f1 = 2 * pr * re / (pr + re + 1e-12)
en_iyi = esik[f1[:-1].argmax()]Eşik doğrulama verisinde seçilmelidir; test verisinde seçmek yine iyimser sonuç verir. pr ve re dizileri eşiklerden bir uzundur, bu yüzden f1[:-1] kullanılır.
Uygulama Üç F skoru
Verilen etiketler için beta 0.5, 1 ve 2 ile fbeta_score hesapla. Her satırda beta ve skoru round(..., 3) ile yazdır.
Başlangıç kodu
from sklearn.metrics import fbeta_score
y_true = [1, 1, 1, 1, 0, 0, 0, 0, 0, 0]
y_pred = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0]
# buraya yazÖrnek çözüm
from sklearn.metrics import fbeta_score
y_true = [1, 1, 1, 1, 0, 0, 0, 0, 0, 0]
y_pred = [1, 1, 0, 0, 0, 0, 0, 0, 0, 0]
for b in [0.5, 1, 2]:
print(b, round(fbeta_score(y_true, y_pred, beta=b), 3))Beklenen çıktı
0.5 0.833 1 0.667 2 0.556
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Kaçırılan pozitiflerin çok pahalı olduğu bir problemde hangisi uygundur?
- F0.5
- Yalnızca kesinlik
- Doğruluk
- F2 Doğru cevap
Açıklama: β = 2 duyarlılığa kesinlikten daha çok ağırlık verir.
2 Duyarlılığa öncelik veren F-skorunu hesapla.
f = fbeta_score(y_true, y_pred, beta=____)
f = fbeta_score(y_true, y_pred, beta=2)
Açıklama: beta = 2, duyarlılığı kesinlikten iki kat önemli sayar.
3 Değerleri eşleştir.
| Kavram | Anlamı |
|---|---|
beta = 1 |
F1 |
beta = 2 |
Duyarlılık öncelikli |
beta = 0.5 |
Kesinlik öncelikli |
precision_recall_curve |
Tüm eşikler |