Doğruluk (Accuracy) , Kesinlik(Precision) , Duyarlılık(Recall) ya da F1 Score ?

Gülcan Öğündür
3 min readNov 9, 2019

Veri bilimi projelerinde en doğru modelin hangisi olması gerektiğine karar vermek için iş birimlerinden gelen talepleri iyi değerlendirmemiz gereklidir. Proje çıktılarımızda sadece Doğruluk (Accuracy) üzerinden model seçimi yaparsak , yalnızca bu metriğe bakmamamız gerektiğini iş sonuçlarında acı tecrübelerle görebiliriz.

Doğruluk bir modelde nasıl hesaplanır ve ne demektir?

Aşağıda gördüğümüz Confusion Matrix tablosu bir sınıflandırma probleminde gerçekleşen ve tahminlenen değerleri göstermektedir.

Confusion Matrix

Bu tabloyu churn eden mağazaların olduğu ve kimlerin churn edeceğini tahmin eden bir model çıktısı olarak okuyalım.

True Positive ve True Negative modelin doğru olarak tahminlediği, False Positive ve False Negative ise modelin yanlış olarak tahminlediği alanlardır.

True Positive : Mağaza churn edecek olarak tahmin ettiniz ve bu doğru.

True Negative: Mağaza churn etmeyecek olarak tahmin ettiniz ve bu doğru.

False Positive (Type 1 Error): Mağaza churn edecek olarak tahmin ettiniz ve bu yanlış .

False Negative (Type 2 Error): Mağaza churn etmeyecek olarak tahmin ettiniz ve bu yanlış.

Accuracy bir modelin başarısını ölçmek için çok kullanılan ancak tek başına yeterli olmadığı görülen bir metriktir.

Accuracy değeri modelde doğru tahmin ettiğimiz alanların toplam veri kümesine oranı ile hesaplanmaktır. Eğer biz 100 mağazadan oluşan bir kitlede 40 mağazanın churn edip etmediğini doğru tahmin edersek Doğruluk değerimiz %40 olacaktır.

Doğruluk (Accuracy)

Özellikle eşit dağılmayan unbiased veri kümelerinde model doğruluğu tek başına yeterli değildir. Örneğin kanser olan ve olmayan hastaların olduğu 100 kişilik bir veri kümemiz olduğunu düşünelim. Tüm hastalar içinde sadece 10 tanesinde kanser teşhisi konulmuştur. Böyle bir durumda kanser olan ancak teşhis edilemeyen (False Negative) hastalar olmasını istemeyiz. Bu nedenle diğer metriklerin sonuçlarını da birlikte değerlendirmeliyiz.

Kesinlik (Precision) ise Positive olarak tahminlediğimiz değerlerin gerçekten kaç adedinin Positive olduğunu göstermektedir.

Kesinlik değeri özellikle False Positive tahminlemenin maliyeti yüksek olduğu durumlarda çok önemlidir. Örneğin mail kutunuza gelmesi gereken mailleri eğer modeliniz spam olarak işaretlerse (FP) bu durumda almanız gereken önemli mailleri görememiş olur ve sizin için kayıp yaratan bir durumda kalırsınız. Bu durumda Kesinlik değerinin yüksek olması bizim için model seçiminde önemli bir kriterdir.

Duyarlılık (Recall) ise Positive olarak tahmin etmemiz gereken işlemlerin ne kadarını Positive olarak tahmin ettiğimizi gösteren bir metriktir.

Duyarlılık değeri de False Negative olarak tahminlemenin maliyetinin yüksek olduğu durumlarda bize yardımcı olacak bir metriktir. Mümkün olduğunca yüksek olması gereklidir. Örneğin Fraud Detection için oluşturduğumuz bir model Fraud olan bir işlemi non-fraud olarak işaretlerse böyle bir durumun sonuçları bir banka için sorun teşkil edecektir.

F1 Score değeri bize Kesinlik (Precision) ve Duyarlılık (Recall) değerlerinin harmonik ortalamasını göstermektedir.

Basit bir ortalama yerine harmonik ortalama olmasının sebebi ise uç durumları da gözardı etmememiz gerektiğidir. Eğer basit bir ortalama hesaplaması olsaydı Precision değeri 1 ve Recall değeri 0 olan bir modelin F1 Score’u 0.5 olarak gelecektir ve bu bizi yanıltacaktır.

Doğruluk (Accuracy) yerine F1 Score değerinin kullanılmasının en temel sebebi eşit dağılmayan veri kümelerinde hatalı bir model seçimi yapmamaktır. Ayrıca sadece False Negative ya da False Positive değil tüm hata maliyetlerini de içerecek bir ölçme metriğine ihtiyaç duyulduğu içinde F1 Score bizim için çok önemlidir.

--

--