"Enter"a basıp içeriğe geçin

Sınıflandırma Modelleri İçin Performans Değerlendirme

Sınıflandırma modellerinin performanslarını değerlendirmek için kullanılan metrikleri aşağıdaki şekilde sıralayabiliriz:

  • Doğruluk (Accuracy)
  • Duyarlılık (Recall)
  • Kesinlik (Precision)
  • F-skor
  • Matthews Correlation Coefficient (MCC)
  • ROC (Receiver Operator Characteristics) Curve ve AuC (Area under Curve)

Bu yazıda Doğruluk, Duyarlılık, Kesinlik ve F-Skor ve MCC kavramlarını irdeleyeceğiz. Bir sonraki yazıda ise ROC Curve ve AuC kavramlarını öğreneceğiz.

Doğruluk (Accuracy)

Doğruluk makine öğrenmesi modelinin kaç tahminden kaçını doğru tahmin ettiğini belirten orandır. Doğru tahmin sayısının toplam tahmin sayısına bölümü ile belirlenir.

Doğruluk metriğinin tahmin etmeye çalıştığımız hedef değerlerinin dengeli dağıldığı durumlarda tercih edilmesi gerekmektedir. Örneğin görüntü tanıma için geliştirdiğiniz bir model resimdeki kişinin gömlek giyip giymediğini tahmin etmek üzere eğitildi ise test için ayırdığınız veri setinde gömlek giyen ve giymeyen kişi sayısının dengeli olması gerekmektedir. Aksi halde yanıltıcı olacaktır.

Neden yanıltıcı olacağını bir örnek ile incelemeye çalışalım. İçerisinde 95 adet kırmızı 5 adet mavi top bulunan kapalı bir kutu içerisinden rastgele bir top seçeceğinizi varsayalım. Her çektiğiniz top için kırmızı dediğinizde %95 doğruluk skoru elde edeceksinizdir. İşte tam da bunu yapan bir modeli Doğruluk metriği ile performans değerlendirme işlemine tabi tuttuğunuzda çıkabilecek yüksek skorlar sizin için yanıltıcı olacaktır. Hele ki modelin amacı mavi topları tespit etmek ise.

Doğruluk metriğinin tahmin etmeye çalıştığımız hedef değerlerinin dengeli dağıldığı durumlarda tercih edilmesi gerekmektedir.

Hata Matrisi

Duyarlılık, Kesinlik ve F-Skor metriklerine geçmeden önce öğrenilmesi gereken bir kavram Hata Matrisi’dir. Karışıklık Matrisi, Karmaşıklık Matrisi gibi isimlerle anılabildiği gibi ingilizce adı olan Confusion Matrix ile de anılabilinir.

Hata matrisi yukarıda bahsedildiği gibi dengesiz dağılım (imbalanced distribution) gösteren test setlerinin ne kadarının doğru tahminlendiğini detaylı gözlemlememize olanak sağlayan bir yöntemdir. 95 kırmızı toptan kaçına kırmızı kaçına mavi, 5 mavi toptan ise kaçına mavi kaçına kırmızı dediğimizi görmemize yarar. Şimdi yukarıdaki örnekte olduğu gibi her topa kırmızı demediğimizi ve gerçekten de kuvvetli sezgiler ile tahmin etmeye çalıştığımızı varsayalım:

Kırmızı olarak tahminlenen top sayısıMavi olarak tahminlenen top sayısı
Kırmızı Top Sayısı8015
Mavi Top Sayısı32
Hata Matrisi (Confusion Matrix)

Tabloda tüm hücrelerdeki değerleri topladığınızda 100 elde edersiniz. 100 kutudaki toplam top sayısıdır. Eğer kutuda 960 top olsaydı, bu toplam da 960’a eşit olacak idi.

İlk hücrede gördüğümüz 80 değeri kutuda yer alan 95 adet kırmızı topun 80 adedine kırmızı dediğimizi gösterir. Buna Doğru Pozitif (True Positive – TP) adı verilir.

İkinci hücrede gördüğümüz 15 değeri ise 95 adet kırmızı topun 15’ine mavi dediğimizi gösterir. Buna Yanlış Negatif (False Negative – FN) adı verilir.

Üçüncü hücrede gördüğümüz 3 değeri ise kutuda bulunan 5 adet mavi toptan 3’üne kırmızı dediğimizi gösterir ki buna Yanlış Pozitif (False Positive – FP) adı verilir.

Son hücrede yer alan 2 ise mavi olan 5 toptan 2’sine mavi dediğimizi belirtir. Buna ise Doğru Negatif (True Negative – TN) adı verilir.

Tabloya bakarak hızlıca şunları söyleyebilmeliyiz:

  • Toplamda 18 hata yapmışız.
  • 95 adet kırmızı toptan 15 tanesini hatalı tahmin etmişiz.
  • 5 adet mavi toptan 3 tanesini hatalı tahmin etmişiz.
  • Doğruluk (Accuracy) : (80+2)/100 = 0.82

Kendi örneğimize göre isimlendirdiğimiz hata matrisinin formal hali ise aşağıdaki gibidir:

Pozitif TahminNegatif Tahmin
Gerçek PozitifDoğru Pozitif (True Positive – TP)Yanlış Negatif (False Negative – FN)
Gerçek NegatifYanlış Pozitif (False Positive – FP)Doğru Negatif (True Negative – TN)
Hata Matrisi (Confusion Matrix)

Hata matrisini doldurmayı öğrendiğimize göre kullanmaya başlayabiliriz:

Duyarlılık (Recall) ve Kesinlik (Precision)

Duyarlılık (Recall) ve Kesinlik (Precision) kavramları çözülmek istenen problemin hassasiyetine göre önem kazanmaktadırlar. Güncel bir örnek vermek gerekir ise Covid-19 hastalığını tespit etmeye yarayan bir makine öğrenmesi modeli geliştirdiniz. Modelinizin hangi tür hata yapmasını tercih ederdiniz? Gerçekte pozitif olan vakaları negatif tahminlemesini mi, yoksa gerçekte negatif vakaları pozitif tahminlemesini mi?

Hemen karar vermeyelim. Bulaşıcı bir hastalık olduğundan hasta bir kişiye sağlıklı olduğunu söylemek oldukça riskli. Tam tersi sağlıklı olan bir kişiyi bulaş riskinin yüksek olduğu hastanede tutmak da öyle.

Ancak şimdilik modelin pozitif olarak belirlediği vakalar için izolasyon ortamının ve ileri tetkik ve tedavinin sağlanabildiğini ve tedavinin yan etkilerinin olmadığını varsayalım. Bu durumda gerçekte pozitif vakaların negatif olarak tahminlemesi modeli kullanılmaz hale getirecektir. Zira modelin negatif olarak tahminlediği kişilerden bir çoğu hastalığın yayılmasına neden olacaktır. İşte bu tip durumlar için yüksek değerde olması önemli olan metriğe duyarlılık (recall) diyoruz.

Peki eğittiğiniz model e-posta adresinize iletilen spam e-postaları tespit etmeye yarasaydı. Spam bir e-posta’nın posta kutunuza düşmesini, yöneticinizden gelen e-posta’yı kaçırmaya tercih edebilirdiniz. Bu durumda optimize edilmesi gereken metriğimize kesinlik (precision) adını veriyoruz.

F-Skor

Kesinlik (Precision) ve Duyarlılık (Recall) değerlerinin her ikisi de problem açısından önem taşıyor ise her iki değerin harmonik ortalaması (harmonic mean) olan F1 skor sizin için önemli hale gelecektir. F1 skor harmonik ortalamanın davranışı gereği küçük olan değere yakın sonuç vererek kesinlik ya da duyarlılık skorlarından herhangi biri düşük ise sonucun düşük olmasını sağlayacaktır.

Kesinlik ya da Duyarlılık skorlarından herhangi biri daha önemli olduğu durumlar için F beta skoru kullanılmaktadır.

Kesinlik (Precision) skorunun önemli olduğu problemlerde beta değeri 1’den küçük olarak belirlenmeli iken, Duyarlılık (Recall) skorunun önemli olduğu problemlerde ise beta 1’den büyük belirlenmelidir.

Matthews Correlation Coefficient (MCC)

Matthews Correlation Coefficient ise yine hata matrisinde belirlediğimiz TP, TN, FP ve FN değerleri ile hesaplanmaktadır. -1 ile +1 arasında değerler almaktadır. -1 tümü ile hata yapıldığını gösterirken +1 tümü ile doğru tahminleme yapıldığını belirtir. Aynı örneğimizde olduğu gibi dengesiz dağılım göstermiş veri setleri için F-skor gibi kullanılabilir.

Gelecek yazıda ROC Curve ve Area under Curve (AuC) kavramlarını incelemek üzere hoşçakalın.

Keyifli öğrenmeler 🙂

İlk Yorumu Siz Yapın

Bir Cevap Yazın

Translate »
%d blogcu bunu beğendi: