Hata Matrisi — Confusion Matrix Nedir?

Bahar
3 min readAug 11, 2022

--

Confusion Matrix (yani adında da anladığımız üzere kafamızı karıştıran bir matris.) Türkçede “Hata Matrisi”, “Karışıklık Matrisi” olarak da karşımıza çıkmaktadır.

Confusion Matrix, bir sınıflandırma algoritmasının performansını özetlemek için kullanılan bir tekniktir.

Bir veri setini sınıflandırma (classification) algoritmasıyla modele tabi tuttuğumuzu düşünelim. Modelin oluşturulduğu veri seti üzerinde yapılan sınıflandırmalar sonucunda, Confusion Matrix’in sağladığı metriklerle modelin performansı değerlendirilebilir.

veri data temsili
Photo by Markus Spiske on Unsplash

Yani bir veri setimizin olduğunu düşünelim, bu veri setimizi sınıflandırma algoritmasıyla bir model kurmuşuz. Modeli kurduk ama sonra şunu düşünüyoruz bu modelimiz ne kadar başarılı? İşte bunu anlamak için Confusion Matrix’e bakmak mantıklı olacaktır.

Çünkü Confusion Matrix, gerçek ve tahmin edilen sınıflar arasındaki ilişkiyi gösteren bir tablodur. Tablo, dört farklı hücreden oluşur: true positive (TP), true negative (TN), false positive (FP) ve false negative (FN). Bu hücrelerin her biri, modelin gerçek sınıfları doğru bir şekilde tahmin edip etmediğini belirtir.

Confusion Matrix şablonu
Confusion Matrix tanımlamalarını görebiliriz

Accuracy: (TP+TN) / (TP+TN+FP+FN) Doğru sınıflandırma oranıdır.
Precision: TP/(TP+FP) Pozitif sınıf (1) tahminlerinin başarı oranıdır. Pozitif olarak tahmin ettiğimiz değerlerin gerçekten kaç adedinin Pozitif olduğunu gösterir.
Recall: TP/(TP+FN) Pozitif sınıfın (1) doğru tahmin edilme oranını verir. Pozitif olarak tahmin etmemiz gereken işlemlerin ne kadarını Pozitif olarak tahmin ettiğimizi gösterir.
F1 Score: 2*(Precision*Recall)/(Precision+Recall) Precision ve Recall’un harmonik ortalamasıdır.

Bu görseli biraz daha anlayabileceğimiz gerçek hayat probleminden bir veriyi ele alıp yorumlamaya çalışalım. Örneğin elimizde 165 mail olsun bunlardan bazıları Spam(Yes), bazıları da Spam Değil (No). Böyle düşünüp bu tabloyu yorumlayalım.

Gerçekte toplam Spam(Yes) olan maillerin sayısı 105. Gerçekte toplam Spam Değil(No) olan maillerin sayısı 60.

TN = 50 bu mailler gerçekte Spam Değil(No) ve bizim modelimiz de Spam Değil(No) olarak predict (tahmin) etmiş.
TP = 100 bu mailler gerçekte Spam (No) ve bizim modelimiz de Spam(Yes) olarak predict (tahmin) etmiş.

FN = 5 bu mailler gerçekte Spam (Yes) ve bizim modelimiz de Spam Değil(No) olarak predict (tahmin) etmiş.
FP = 10 bu mailler gerçekte Spam Değil(No) ve bizim modelimiz de Spam(Yes) olarak predict (tahmin) etmiş.

Son olarak sayısal olarak değerlerini yerine yazalım.

Accuracy: (50+ 100)/ (50+5+10+100) = 0.909 yani modelimizin %90'lık bir doğruluk oranı var.
Precision: (100)/(10+100) = 0.909
Recall: 100/ (100+5) = 0.9523
F1 Score: 2*( 0.909* 0.9523)/( 0.909+0.9523) = 0.93019

Not

Type I error (false positive): Örnekten yola çıkıp yorumlarsak. Modelimiz gelen maile Spam(Yes) demiş ancak gerçekte Spam Değil(Not Spam) buna 1.Tip Hata deriz.

Type II error (false negative): Modelimiz gelen maile Spam Değil(Not Spam) demiş ancak gerçekte gelen mail Spam(Yes) bu hataya 2. Tip Hata deriz. Dikkat bu tip hata önemlidir. Zarara uğratabilir. Çünkü ortada olan bir sahtekarlığı fark edememiş oluyoruz. Bu şöyle bir örnek ile daha da iyi anlaşılabilir. Örneğin bir insanda bulunan kötü huylu tümörün tespit edilememesi gibi. Bu tespit edilememe durumu bir insanın hayatına mâl olabilir.

Son olarak düşüncelerinizi veya eklemek istediklerinizi yoruma yazabilirsiniz. İnstagram hesabına buradan ulaşabilirsiniz :))

--

--

Bahar

Hello, I'm Bahar. In my blog posts, I write about self-improvement, management and inferences about life. https://linktr.ee/bahar0