03. Model Başarısı Değerlendirme – Sınıflandırma

Bir makine öğrenmesi çalışmasında modelin kaç tane durumu doğru olarak tahmin ettiği çok yeterli bir değerlendirme kriteri değildir. Örneğin elimizde 1000 tane veri olsun. 900 tanesi A sınıfı içinde iken 100 tanesi B sınıfının içinde olsun. Bir makine öğrenmesi metodu geliştirirsen ve hepsini A olarak bilirse başarısı %90’dır. Bu yazıda modelimizi daha iyi değerlendirmek için “confusion matrix” konusu anlatılmıştır.

Confusion Matrix

Confusion matrix, verideki var olan durum ile sınıflama modelimizin doğru ve yanlış tahminlerinin sayısını gösterir. Aşağıda 2×2’lik bir confusion matrix görülmektedir. Bu matrix tahmindeki hedef sayısına göre değişir. Başka bir değişle NxN’lik olabilir. 

Var olan durumlar training dataset’te uzman/lar tarafından işaretlenmiş durumlardır. Bu durumlar kesinlikle doğru kabul edilir. Yukarıda işaretleme sonucunda uzman ya pozitif ya da negatif bir durum seçmiştir. Örneğin eğitim verimiz cümlelerden oluşsun ve hangi cümlenin olumlu hangisinin olumsuz olduğunu tahmin etmeye çalışalım. Bu durumda olumlu cümleler için pozitif olmusuz cümleler için negatif işaretlemiş olsun. Makine öğrenmesi metodundan elde edilen modelin amacı hem pozitifleri hem de negatifleri tahmin edebilmektir.

Eğer tahmin işleminde normalde pozitif olarak var olan bir durum pozitif olarak tahmin ediliyorsa TP bir tahmin yapılmıştır. Eğer var olan durum negatif ve tahmin negatif ise TN bir tahmin yapılmıştır. Başka bir deyişle yanlış bir durum yanlış olarak doğru bir şekilde tahmin edilmiştir. Eğer var olan durum negatif ise ancak tahmin sistemi pozitif olarak tahmin ederse birinci tip hata FP durumu oluşur. Eğer var olan durum pozitif ise ve tahminci negatif olarak tahmin ederse FN ikinci tip hata oluşur. Şimdi yukarıdaki örneğimizi confusion matrix üzerinde görelim.

 

Dikkat edilirse tahmin sistemi hiç bir negatif durumu bilemiyor. Aslında arzu edilen tahmin durumu aşağıdaki gibi olmalıydı.

Ancak bu durumda hayaldir. Cidden böyle bir sonuç çıkıyorsa modelinizden veya verinizden şüphelenmenizi öneririm. Şimdi confusion matrix üzerinden çıkarılan ve literatürde sıklıkla kullanılan formülasyonlara bakalım.
Accuracy: Sistemde doğru olarak yapılan tahminlerin tüm tahminlere oranıdır. (Konunun başında %90’lık tahmin sonucunu elde ettiğimiz durum. Bu açıdan pek güvenilir bir karşılaştırma kriteri değildir.)
Accuracy = (TP+TN) / (TP+TN+FN+FP)
Recall: Pozitif durumların ne kadar başarılı tahmin edildiğini gösterir.
Recall = TP / (TP + FN)
Precision: Pozitif olarak tahmin edilen bir durumdaki başarıyı gösteren durum.
Precision = TP / (TP + FP)
F-Meaure: Recall ve Precision’ın harmonik ortalaması.
F-Measure = 2*Precision*Recall / (Precision + Recall)
 
Bu formüller çalışmalarda kullanılan en temel değerlendirme kriterleridir. Daha fazla değerlendirme kriterine Wikipedia‘dan bakabilirsiniz.