R'de f1 puanı nasıl hesaplanır (örnekle)
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, R’deki bu model için F1 puanının nasıl hesaplanacağını gösterir.
Örnek: R’de F1 puanının hesaplanması
Aşağıdaki kod, belirli bir lojistik regresyon modeli için F1 puanını (ve diğer ölçümleri) hesaplamak amacıyla R’deki caret paketindeki kafa karışıklığıMatrix() işlevinin nasıl kullanılacağını gösterir:
library (caret) #define vectors of actual values and predicted values actual <- factor(rep(c(1, 0), times=c(160, 240))) pred <- factor(rep(c(1, 0, 1, 0), times=c(120, 40, 70, 170))) #create confusion matrix and calculate metrics related to confusion matrix confusionMatrix(pred, actual, mode = " everything ", positive=" 1 ") Reference Prediction 0 1 0 170 40 1 70 120 Accuracy: 0.725 95% CI: (0.6784, 0.7682) No Information Rate: 0.6 P-Value [Acc > NIR]: 1.176e-07 Kappa: 0.4444 Mcnemar's Test P-Value: 0.005692 Sensitivity: 0.7500 Specificity: 0.7083 Pos Pred Value: 0.6316 Neg Pred Value: 0.8095 Accuracy: 0.6316 Recall: 0.7500 F1: 0.6857 Prevalence: 0.4000 Detection Rate: 0.3000 Detection Prevalence: 0.4750 Balanced Accuracy: 0.7292 'Positive' Class: 1
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 puanının çıktıda görüntülenmesi için mode = “everything” belirtmemiz gerekir.
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 bu modelin F1 puanı 0,85 ise o modelin F1 puanı daha yüksek olduğu için daha iyi kabul edilecektir.
Ek kaynaklar
R’de lojistik regresyon nasıl gerçekleştirilir
F1 Puanı ve Doğruluk: Hangisini Kullanmalısınız?