Karışıklık matrisi hesaplama
Karışıklık matrisinin dört sayısını (TP, FP, FN, TN) girin; doğruluk, kesinlik, duyarlılık, özgüllük ve F1 skorunu oran ya da yüzde olarak anında öğrenin.
Karışıklık matrisinden doğruluk, kesinlik, duyarlılık ve F1 skoru
Karışıklık matrisi
Burada:
- \(TP\) — doğru pozitifler: gerçekten pozitif olup doğru biçimde pozitif olarak sınıflandırılan vakalar
- \(FP\) — yanlış pozitifler: gerçekte negatif olup yanlışlıkla pozitif olarak sınıflandırılan vakalar (I. tip hata)
- \(FN\) — yanlış negatifler: gerçekte pozitif olup yanlışlıkla negatif olarak sınıflandırılan vakalar (II. tip hata)
- \(TN\) — doğru negatifler: gerçekten negatif olup doğru biçimde negatif olarak sınıflandırılan vakalar
- \(n\) — sınıflandırılan toplam vaka sayısı
Bu beş ölçütün tümü 0 (en kötü) ile 1 (kusursuz) arasında değişir ve ikili bir sınıflandırıcının başarımının farklı yönlerini özetler. Payda sıfır olduğunda ilgili ölçüt tanımsızdır ve hesaplayıcı "—" gösterir.
Karışıklık matrisi – hesaplama örneği
Örnek: bir model 150 vakayı taradı. 45 pozitif vakayı doğru olarak işaretledi (TP), 15'ini kaçırdı (FN); 80 negatif vakayı doğru geçti (TN) ve 10 yanlış alarm verdi (FP).
\[ n = 45 + 10 + 15 + 80 = 150 \]
\[ \text{Doğruluk} = \frac{45 + 80}{150} = 0.8333 \quad (83.33\%) \]
\[ \text{Kesinlik} = \frac{45}{45 + 10} = 0.8182 \quad (81.82\%) \]
\[ \text{Duyarlılık} = \frac{45}{45 + 15} = 0.75 \quad (75\%) \]
\[ \text{Özgüllük} = \frac{80}{80 + 10} = 0.8889 \quad (88.89\%) \]
\[ F_1 = \frac{2 \times 45}{2 \times 45 + 10 + 15} = \frac{90}{115} = 0.7826 \quad (78.26\%) \]
Sonuç: doğruluk %83,33, kesinlik %81,82, duyarlılık %75, özgüllük %88,89, F1 skoru %78,26 (sonuçların yüzde olarak gösterilmesi seçiliyken).
Hesaplayıcı nasıl kullanılır?
- Karışıklık matrisinizin her hücresine kaç vaka düştüğünü sayın ve bu değerleri Doğru pozitifler, Yanlış pozitifler, Yanlış negatifler ve Doğru negatifler alanlarına girin. Dört değerin de \(\ge 0\) olan tam sayılar olması gerekir.
- Ölçüt gösterimi seçeneğini belirleyin: ondalık değerler için "Oranlar (0–1)", yüzde değerler için "Yüzdeler (%0–100)".
- Sonuçları okuyun: Toplam tahmin sayısı, Doğruluk, Kesinlik (pozitif prediktif değer), Duyarlılık (sensistivite, gerçek pozitif oranı), Özgüllük (gerçek negatif oranı) ve F1 skoru; ardından ölçütlerin nasıl hesaplandığını ve nasıl yorumlanacağını özetleyen bir açıklama gelir.
- Bir ölçüt "—" olarak görünüyorsa paydası sıfırdır — örneğin model hiç pozitif tahminde bulunmadıysa (\(TP + FP = 0\)) kesinlik tanımsızdır.
Karışıklık matrisi nedir?
Karışıklık matrisi (hata matrisi), ikili bir sınıflandırıcının temel karne tablosudur. 2×2'lik bu tablo, her vakanın gerçek sınıfını (pozitif veya negatif) modelin tahmin ettiği sınıfla çapraz olarak karşılaştırır. Dört hücre — doğru pozitifler, yanlış pozitifler, yanlış negatifler ve doğru negatifler — olası tüm sonuçları kapsar; bu yüzden toplamları olan \(n\), sınıflandırılan toplam vaka sayısıdır. Yalnızca bu dört sayıdan, sınıflandırma kalitesine ilişkin standart her ölçüt türetilebilir.
Burada hesaplanan beş ölçütün her biri başka bir soruya yanıt verir. Doğruluk sorar: genel olarak tahminlerin hangi bölümü doğruydu? Kesinlik sorar: model "pozitif" dediğinde ne kadar sık haklıdır? Düşük kesinlik, çok sayıda yanlış alarm anlamına gelir. Duyarlılık (recall; sensistivite veya gerçek pozitif oranı olarak da bilinir) sorar: gerçekten pozitif olan vakaların kaçını model yakalayabildi? Düşük duyarlılık, kaçırılan vakalar demektir. Özgüllük, negatif sınıfın duyarlılığıdır — model gerçek negatifleri ne kadar iyi tanıyor? F1 ise kesinlikle duyarlılığın harmonik ortalamasıdır ve ikisini dengeler: yalnızca her ikisi de yüksek olduğunda yüksektir.
Peki neden sadece doğrulukla yetinmiyoruz? Çünkü sınıflar dengesiz olduğunda doğruluk yanıltıcıdır. Vakaların yalnızca %1'i pozitifse, her şeyi negatif etiketleyen sıradan bir model %99 doğruluk elde eder ama tek bir pozitifi bile yakalayamaz. Kesinlik, duyarlılık ve F1 ise pozitif sınıfa odaklanır ve bu tür başarısızlıkları hemen ortaya çıkarır. Hangi ölçütün en önemli olduğu, hataların maliyetine bağlıdır: kanser taramasında kaçırılan bir tümör (yanlış negatif) yanlış alarma göre çok daha kötü bir sonuçtur, bu yüzden duyarlılığa öncelik verilir; spam filtrelemede kaybedilen meşru bir e-posta (yanlış pozitif) daha kötü olabilir, bu durumda kesinlik daha ağır basar.
Tıbbi ve epidemiyolojik bağlamda aynı sayılar farklı adlar taşır: duyarlılık orada sensistivite, kesinlik pozitif prediktif değer (PPV), gerçek pozitiflerin oranı olan \((TP + FN)/n\) ise prevalans olarak adlandırılır. Bir testin sensistivitesini, özgüllüğünü ve prevalansını biliyorsanız, Bayes teoremi ile prediktif değerlere doğru ileri hesaplama yapabilirsiniz.
Varsayımlar, sınırlamalar ve pratik öneriler
- Hesaplayıcı, dört sayıyı tek bir sınıflandırma çalışmasından gelen kesin tam sayılar olarak ele alır. Her vakanın tam olarak bir hücreye ait olduğunu ve "pozitif" sınıfın da tespit etmek istediğiniz sınıf olduğunu varsayar.
- Tüm ölçütler girilen örneklem üzerinden hesaplanır; dolayısıyla bunlar örnekleme hatasına tabi tahminlerdir. Sayılar küçükse (örneğin 30'dan az pozitif vaka varsa), çıplak bir yüzde yerine bir güven aralığı bildirin — oranlar için Wilson aralığı iyi bir seçimdir.
- Paydası sıfır olan ölçütler tanımsızdır ve "—" olarak gösterilir: hiç pozitif tahmin yapılmadıysa kesinlik, gerçekte pozitif vaka yoksa duyarlılık, gerçekte negatif vaka yoksa özgüllük, kesinlik ve duyarlılığın ikisi de sıfırsa F1 tanımsızdır.
- F1, kesinliğe ve duyarlılığa eşit ağırlık verir. Uygulamanızda biri daha önemliyse bunun yerine \(F_\beta\) skorunu kullanın (ör. \(F_2\) duyarlılığı, \(F_{0.5}\) kesinliği öne çıkarır).
- Karışıklık matrisi, modelin neden hata yaptığına ya da aynı veri üzerinde başka bir modelle nasıl karşılaştırıldığına dair hiçbir şey söylemez. İki sınıflandırıcının (veya iki değerlendiricinin) eşleştirilmiş sonuçlarda anlamlı biçimde farklılaşıp farklılaşmadığını sınamak için McNemar testini; bağımsız oranlar için iki oran z testini veya Fisher'ın kesin testini kullanın.
- Karışıklık matrisi kesin (ikili) kararlar gerektirir. Modeliniz olasılık üretiyorsa sayılar — dolayısıyla her ölçüt — skorları etikete çevirmek için seçtiğiniz eşiğe bağlıdır; bu yüzden ölçütlerin yanında daima eşiği de bildirin.
Sıkça Sorulan Sorular
İyi bir F1 skoru ya da doğruluk değeri nedir?
Evrensel bir "iyi" değer yoktur — bu tamamen alana ve hata maliyetine bağlıdır. Kaba bir kural olarak: rakam tanıma gibi iyi çalışılmış görevlerde 0,9 üzeri mükemmel; metin sınıflandırmada 0,7–0,9 çoğu zaman kabul edilebilir; tıbbi tahmin gibi gürültülü alanlarda ise 0,5–0,7 bile değerli olabilir. Mutlak bir sayıyla değil, daima bir temel değerle (ör. her zaman çoğunluk sınıfını tahmin eden model) karşılaştırın.
Ölçütleri hesaplayıcı olmadan nasıl elle hesaplayabilirim?
Dört sayıyı, sütunlar tahmin edilen sınıfları ve satırlar gerçek sınıfları gösterecek biçimde 2×2'lik bir kılavuza yazın. Doğruluk, köşegen toplamının genel toplama bölünmesidir; kesinlik TP'nin ilk sütun toplamına, duyarlılık TP'nin ilk satır toplamına, özgüllük ise TN'nin ikinci satır toplamına bölünmesiyle bulunur. F1 harmonik ortalamadır: kesinlikle duyarlılığı çarpın, ikiye katlayın ve toplamlarına bölün. Her değer 0 ile 1 arasındadır; yüzde için 100 ile çarpın.
Karışıklık matrisini doldururken en sık yapılan hatalar nelerdir?
Klasik hata, yanlış pozitiflerle yanlış negatiflerin yer değiştirmesidir. Şunu aklınızda bulundurun: yanlış pozitif, modelin pozitif tahmin ettiği ama gerçekte negatif olan vakadır (yanlış alarm); yanlış negatif ise negatif tahmin edilen ama gerçekte pozitif olan vakadır (kaçırma). Ayrıca matrisin yönünün kullandığınız düzene uygun olduğundan emin olun — bazı araçlar gerçek sınıfları sütunlara, tahminleri satırlara yerleştirir; bu, tabloyu ters çevirir ve FP ile FN'in hangi hücrelere düştüğünü değiştirir.
Bu hesaplayıcı çok sınıflı karışıklık matrislerini de hesaplayabilir mi?
Hayır — yalnızca ikili (iki sınıflı) sorunlarda çalışır. Çok sınıflı sorunlar için her sınıfı "pozitif", diğer tüm sınıfları "negatif" sayarak sınıf başına bir 2×2 matris oluşturabilir, sınıf başına kesinlik, duyarlılık ve F1 hesaplayıp bunları ortalamalarınız (makro veya mikro ortalama). Alternatif olarak Matthews korelasyon katsayısı (MCC) ve Cohen kappa gibi ölçütler daha büyük kare matrislere doğrudan genellenir.
Oran, yüzde ve olasılık (odds) arasında nasıl dönüştürme yapılır?
0,85'lik bir oran %85'e eşittir; yalnızca 100 ile çarpın (geri dönmek için 100'e bölün). Bazı alanlar bunun yerine olasılık (odds) bildirir: bir sınıflandırıcının olasılık oranı \( (TP \cdot TN)/(FP \cdot FN) \)'dir; Youden'in J istatistiği ise duyarlılık + özgüllük − 1'dir. Bir kaynak size yüzde veriyorsa, F1'in harmonik ortalaması gibi formüllerde kullanmadan önce bunu orana dönüştürün.
F1 skorum neden hem kesinlikten hem duyarlılıktan düşük çıkıyor?
Bu bir hata değil, beklenen bir davranıştır. F1, iki değerden küçük olanın baskın olduğu harmonik ortalamadır. Örneğin kesinlik 0,95 ve duyarlılık 0,55 iken F1 yaklaşık 0,70'tir — aritmetik ortalamanın (0,75) düşündüreceğinden çok daha yakın zayıf duyarlılığa. Bu, bir ölçütte çok iyi olup diğerinde başarısız olan sınıflandırıcıları cezalandırır; F1'in basit ortalama yerine tercih edilmesinin nedeni de tam olarak budur.
Peki negatif sınıf için bir ölçüt var mı — negatif prediktif değer nedir?
Evet. Kesinliğin negatif sınıftaki karşılığı negatif prediktif değerdir (NPV): \( TN/(TN + FN) \), yani "negatif" tahminin gerçekten negatif olma olasılığı. Sensistivite ve özgüllüğün aksine, PPV ve NPV her ikisi de sınıf prevalansına bağlıdır; bu yüzden aynı test, özgüllüğü orta düzeyde olsa bile düşük prevalanslı bir popülasyonda yüksek NPV gösterebilir. Hastalığı dışlamak gibi negatif sonuçların güvenilirliğinin önemli olduğu durumlarda kullanın.