Sınıflandırma Problemlerindeki Metrikler

Mehmet Fatih AKCA
Deep Learning Türkiye
3 min readApr 27, 2020

Confusion Matrix (Karmaşıklık Matrisi)

Karmaşıklık matrisini dümdüz anlatmaktansa “Yalancı Çoban” hikayesi ile anlatmak yeni başlayan kişilerin daha iyi anlamasını sağladığını düşünüyorum.

Çoban, eğittiğimiz modele, kurt ise bağımlı değişkenimizin sınıfına karşılık geliyor.

Toplam 4 ihtimal vardır:

1-) True Positive (TP): Modelimiz (Çoban) “Kurt var!” der ve gerçekte de kurt vardır. Modelimizin doğru tahmin ettiği ihtimallerden biridir.

2-) True Negative (TN): Modelimiz (Çoban) “Kurt yok” der ve kurt yoktur. Modelimizin doğru tahmin ettiği ihtimallerden biridir.

3-) False Positive (FP): Modelimiz (Çoban) “Kurt var!” der ama kurt yoktur. Modelimizin yanlış tahmin ettiği ihtimallerden biridir.

4-) False Negative (FN): Modelimiz (Çoban) “Kurt yok” der ama kurt vardır. Modelimizin yanlış tahmin ettiği ihtimallerden biridir.

Accuracy = Doğru Tahminlerin Sayısı / Tüm Tahminlerin Sayısı

Accuracy değerini dikkate almak her sınıfta eşit sayıda gözlem varsa mantıklı olabilir. Bunun dışında oldukça yanıltıcıdır. Örneğin yukarıdaki modelin accuracy değerini hesaplayalım.

Accuracy= (1+90) / (1+90+1+8) = 0.91

Bu değer gayet güzel gibi görünebilir ama sayılara tekrar bakıldığında kurdun 9 kez geldiğini ve sadece 1 kez doğru tahmin edildiğini fark edebilirsiniz. Bu çok kötü bir sonuç. Halbuki Accuracy skorumuz %91'di.

Precision = Pozitif olarak tahmin edilenlerin gerçekte kaçta kaçı doğru.

Precision = TP /(TP+FP)

Precision = 1 / (1+1) = 0.5

Recall = Model, pozitif classların kaçta kaçını yakalayabiliyor.

Recall = TP / (TP+FN)

Recall = 1 / (1 + 8) = 0.11

Bu metriklerin önemi, modeli hangi amaçla geliştirdiğinize göre değişim göstermektedir. Örneğin evinizi korumak için, hırsızları yakalamak üzere eğittiğiniz modelde Recall değeri çok önemlidir. Recall değeri oldukça yüksek olmalıdır. Tam tersine, diğer hayvan fotoğrafları arasından kedi fotoğraflarını ayırabilen modelde, daha fazla kedi fotoğrafını yakalamak için Recall değeri esnetilebilir.

F1 Score

F1 Score,Precision ve Recall değerlerinin ağırlıklı (harmonik) ortalamasıdır.

F1 Score = 2 * (Recall * Precision) / (Recall+ Precision)

F1 Score, özellikle eşit olmayan bir sınıf dağılımınız varsa, Accuracy değerinden daha kullanışlı olabilir.

F1 Score = 2 * (0.11 * 0.5) / (0.11 + 0.5) = 0,18

ROC ve AUC

Sınıflandırma problemlerinde olasılık değerini sınıflandırmak için eşik değere (threshold) ihtiyaç duyulur. Örneğin 0.5 gibi; Sonuçları, 0.5'in altı ve 0.5'in üstü olacak şekilde böler. ROC Curve, eşik değerinin performansını gösteren eğridir. Tablonun x ekseninde FP Rate, y ekseninde ise TP Rate (Recall) vardır.

TPR = TP / (TP + FN) (Sensitivity olarak da biliniyor.)

FPR = FP / (FP + TN) (1-Specificity olarak da biliniyor.)

ROC eğrisinin altında kalan yere AUC (Area Under the ROC Curve) denir. Positive Class’ı Negative Class’tan ne kadar ayırabildiğini verir. Alan arttıkça ayrım yeteneği artar.

--

--

Mehmet Fatih AKCA
Deep Learning Türkiye

Sakarya Üniversitesi Yönetim Bilişim Sistemleri 4.sınıf öğrencisiyim. Makine Öğrenmesi, Veri Madenciliği, Veri Analizi ve Görüntü İşleme www.mfakca.com