Ana içeriğe atla

Makine Öğreniminde Karışıklık Matrisi Nedir? Model Değerlendirme Aracı Açıklanıyor

Bir karışıklık matrisinin model tahminlerini Doğru Pozitifler, Yanlış Pozitifler, Doğru Negatifler ve Yanlış Negatifler olarak nasıl kategorize ettiğini görün. Yapısını, hesaplama adımlarını ve dengesiz verilerle başa çıkma ile hata analizindeki kullanımını anlamak için okumaya devam edin.
Güncel 3 Eki 2026  · 12 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Bu yıl, yapay zekâ ve makine öğreniminin manşetlere damga vurduğu veri bilimi alanında yeniliklerle geçti. 2023’te kaydedilen ilerlemeden şüphe yokken, bu makine öğrenimi atılımlarının çoğunun, modellerin tabi tutulduğu doğru değerlendirme süreçleri sayesinde mümkün olduğunu kabul etmek önemlidir. Veri uzmanlarının görevi, bir makine öğrenimi modelinin performansını ölçmek için doğru değerlendirmelerin ve süreçlerin yürütülmesini sağlamaktır. Bu sadece faydalı değil — zorunludur.

Veri biliminin inceliklerini kavramak istiyorsanız, bu makale sizi, model değerlendirmesinde yaygın olarak kullanılan, nispeten basit ama güçlü bir araç olan karışıklık matrisiyle model değerlendirmesinin kritik adımlarında yönlendirecek.

Öyleyse konuya dalalım ve karışıklık matrisi hakkında daha fazlasını öğrenelim.

Karışıklık Matrisi Nedir?

Karışıklık matrisi, bir modelin performansını değerlendirmek için kullanılan ve görsel olarak bir tabloyla temsil edilen bir araçtır. Modelin performansı, hataları ve zayıflıkları hakkında veri uzmanlarına daha derin bir içgörü sağlar. Bu da, modelin ince ayarla daha ileri analizine olanak tanır.

Karışıklık Matrisinin Yapısı

Bir e-postayı spam ya da spam değil olarak tanımlama örneğini kullanarak, karışıklık matrisinin temel yapısını öğrenelim.

  • True Positive (TP) - Modeliniz pozitif sınıfı tahmin etti. Örneğin, bir spam e-postayı spam olarak tanımlamak.
  • True Negative (TN) - Modeliniz negatif sınıfı doğru şekilde tahmin etti. Örneğin, normal bir e-postayı spam değil olarak tanımlamak.
  • False Positive (FP) - Modeliniz pozitif sınıfı hatalı şekilde tahmin etti. Örneğin, normal bir e-postayı spam olarak tanımlamak.
  • False Negative (FN) - Modeliniz negatif sınıfı hatalı şekilde tahmin etti. Örneğin, bir spam e-postayı normal e-posta olarak tanımlamak.

Karışıklık matrisinin mantığını gerçekten kavramak için aşağıdaki görselleştirmeye bakın:

Karışıklık matrisinin yapısı

Karışıklık Matrisinin Temel Yapısı

Karışıklık Matrisi Terminolojisi

Karışıklık Matrisini derinlemesine anlamak için, bir modelin performansını ölçmekte kullanılan önemli metrikleri bilmek gerekir.

Önemli metrikleri tanımlayalım:

Doğruluk (Accuracy)

Doğruluk, toplam doğru sınıflandırma sayısının toplam vaka sayısına oranıdır.

Karışıklık Matrisi için Doğruluk formülü

Duyarlılık/Hatırlama (Recall/Sensitivity)

Duyarlılık/Hatırlama, doğru pozitiflerin toplamının, gerçek pozitiflerin toplamına oranıdır.

Karışıklık Matrisi için Recall formülü

Kesinlik (Precision)

Kesinlik, doğru pozitiflerin toplamının, tahmin edilen pozitiflerin toplamına oranıdır.

Karışıklık Matrisi için Precision formülü

Özgüllük (Specificity)

Özgüllük, doğru negatiflerin toplamının, gerçek negatiflerin toplamına oranıdır.

Karışıklık Matrisi için Özgüllük formülü

F1 Skoru

F1 Skoru, kesinlik ve duyarlılığın harmonik ortalamasını alan tek bir metriktir.

Karışıklık Matrisi için F1 skoru formülü

Karışıklık Matrisinin Rolü

Karışıklık matrisini daha iyi kavramak için, amacını ve neden yaygın olarak kullanıldığını anlamalısınız.

Bir modelin performansını ya da genel olarak herhangi bir şeyi ölçerken insanlar çoğunlukla doğruluğa odaklanır. Ancak doğruluk metriğine aşırı derecede bel bağlamak yanlış kararlara yol açabilir. Bunu anlamak için, doğruluğu tek başına bir metrik olarak kullanmanın sınırlamalarını ele alacağız.

Tek başına metrik olarak doğruluğun sınırlamaları

Yukarıda tanımlandığı gibi, doğruluk toplam doğru sınıflandırma sayısının toplam vaka sayısına oranıdır. Ancak bu metriği tek başına kullanmanın aşağıdakiler gibi sınırlamaları vardır:

  • Dengesiz Verilerle Çalışma: Hiçbir veri kusursuz değildir ve doğruluk metriğinin kullanımını, öngörü gücü açısından değerlendirmek gerekir. Örneğin, bir sınıfın diğerine göre baskın olduğu bir veri kümesiyle çalışmak, modelin çoğunluk sınıfını tahmin edeceği için daha yüksek doğruluk elde etmesine neden olur.
  • Hata Türleri: Modelinizin belirli bir bağlamda nasıl performans gösterdiğini anlamak ve öğrenmek, ince ayar yapmanıza ve performansını artırmanıza yardımcı olur. Örneğin, FP ve FN gibi hata türlerini bir karışıklık matrisiyle ayırt etmek, modelin sınırlamalarını keşfetmenizi sağlar.

Bu sınırlamalar karşısında, karışıklık matrisi ve çeşitli metrikler, bir modelin performansını nasıl iyileştireceğinize dair daha ayrıntılı içgörüler sunar.

Karışıklık matrisinin faydaları

Bir karışıklık matrisinin temel yapısında görüldüğü gibi, tahminler dört kategoriye ayrılır: True Positive, True Negative, False Positive ve False Negative.

Bu ayrıntılı döküm, bir modelin performansını iyileştirmek için değerli içgörüler ve çözümler sunar:

  • Dengesiz Verilerin Çözümü: İncelendiği üzere, doğruluğu tek başına metrik olarak kullanmak dengesiz verilerde sınırlamalara sahiptir. Kesinlik ve duyarlılık gibi diğer metrikleri kullanmak, daha dengeli bir bakış ve daha doğru bir temsil sağlar. Örneğin, finans gibi sektörlerde yanlış pozitifler ve yanlış negatifler ciddi sonuçlara yol açabilir.
  • Hata Türü Ayrıştırma: Makine öğrenimi modelinin ürettiği farklı hata türlerini anlamak, sınırlamaları ve iyileştirme alanlarını ortaya koyar.
  • Ödünleşimler: Bir Karışıklık Matrisinde farklı metrikler arasındaki ödünleşimler kritiktir; çünkü birbirlerini etkilerler. Örneğin, kesinlikteki bir artış genellikle duyarlılıkta bir azalmaya yol açar. Bu da, etkilenen metrik değerlerinden yararlanarak modelin performansını iyileştirmenize rehberlik eder.

Karışıklık Matrisi Hesaplama

Artık temel bir karışıklık matrisini, terminolojisini ve kullanımını iyi anladığımıza göre, bir karışıklık matrisini elle hesaplamaya ve ardından pratik bir örneğe geçelim.

Karışıklık matrisini elle hesaplama

İşte bir Karışıklık Matrisi’nin nasıl elle hesaplanacağına dair adım adım bir kılavuz.

Sonuçları tanımlayın

İlk adım, görevinizin iki olası sonucunu belirlemek olacaktır: Pozitif veya Negatif.

Tahminleri toplayın

Olası sonuçlar tanımlandıktan sonra, bir sonraki adım modelin tüm tahminlerini toplamak, modelin her sınıfı kaç kez tahmin ettiği ve gerçekleşme sayılarını kaydetmektir.

Sonuçları sınıflandırın

Tüm tahminler bir araya getirildikten sonra, sonraki adım sonuçları dört kategoriye ayırmaktır:

  • True Positive (TP)
  • True Negative (TN)
  • False Positive (FP)
  • False Negative (FN)

Bir matris oluşturun

Sonuçlar sınıflandırıldıktan sonra, bir dizi metrik kullanılarak daha fazla analiz etmek üzere bunları bir matris tablosunda sunmak bir sonraki adımdır.

Karışıklık matrisi pratik örnek

Bu süreci göstermek için pratik bir örnekten geçelim.

E-postayı spam veya spam değil olarak tanımlama örneğiyle devam ederek, spam’in Pozitif, spam değilin Negatif olduğu varsayımsal bir veri kümesi oluşturalım. Aşağıdaki verilere sahibiz:

  • 200 e-posta arasında, gerçekte 80 e-posta spam’dir ve model bunların 60’ını doğru şekilde spam olarak tanımlar (TP).
  • 200 e-posta arasında, 120 e-posta spam değildir ve model bunların 100’ünü doğru şekilde spam değil olarak tanımlar (TN).
  • 200 e-posta arasında, model 20 spam olmayan e-postayı hatalı şekilde spam olarak tanımlar (FP).
  • 200 e-posta arasında, model 20 spam e-postayı atlar ve spam değil olarak tanımlar (FN).

Bu noktada, sonucu tanımladık ve verileri topladık; sonraki adım sonuçları dört kategoriye ayırmaktır:

  • True Positive: 60
  • True Negative: 100
  • False Positive: 20
  • False Negative: 20

Sıradaki adım bunu bir Karışıklık Matrisi’ne dönüştürmektir:

Gerçek / Tahmin

Spam (Pozitif)

Spam Değil (Negatif)

Spam (Pozitif)

60 (TP)

20 (FN)

Spam Değil (Negatif)

20 (FP)

100 (TN)

Peki Karışıklık Matrisi bize ne söylüyor?

  • Doğru Pozitifler ve Doğru Negatifler doğru tahminleri gösterir.
  • Yanlış Pozitifler, modelin pozitif sınıfı hatalı tahmin ettiğini gösterir.
  • Yanlış Negatifler, modelin pozitif sınıfı tanımlayıp tahmin edemediğini gösterir.

Bu karışıklık matrisini kullanarak Doğruluk, Duyarlılık, Kesinlik, Özgüllük ve F1 Skoru gibi farklı metrikleri hesaplayabiliriz.

Karışıklık matrisi metrik çıktıları

Karışıklık matrisi metrik çıktısı

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

F1 skorunun formülünde neden kesinlik ve duyarlılığın yer aldığını merak ediyor olabilirsiniz. F1 skoru, dengesiz verilerle çalışırken veya kesinlik ile duyarlılık arasındaki ödünleşimi dengelemek istediğinizde kritik öneme sahiptir.

Kesinlik, pozitif tahminlerin isabetini ölçer. ‘Model TRUE tahmin ettiğinde, ne sıklıkla doğruydu?’ sorusunu yanıtlar. Kesinlik özellikle, yanlış pozitifin maliyetinin yüksek olduğu durumlarda önemlidir.

Duyarlılık ya da hassasiyet, model tarafından doğru tanımlanan gerçek pozitiflerin sayısını ölçer. ‘Sınıf gerçekte TRUE olduğunda, sınıflandırıcı bunu ne sıklıkla doğru bildi?’ sorusunu yanıtlar.

Duyarlılık, pozitif bir örneği kaçırmanın (FN) negatif örnekleri hatalı şekilde pozitif etiketlemekten daha kötü olduğu durumlarda önemlidir.

  • Kesinlik kullanımı: Yanlış pozitiflerin ciddi sonuçları olabilir. Örneğin, finans sektöründe kullanılan bir sınıflandırma modelinin bir işlemi yanlışlıkla sahtekârlık olarak tanımlaması. Bu gibi senaryolarda kesinlik metriği önemlidir.
  • Duyarlılık kullanımı: Tüm pozitif vakaları belirlemek hayati olabilir. Örneğin, tıp alanında kullanılan sınıflandırma modellerinin doğru teşhis koyamaması yıkıcı olabilir. Tüm pozitif vakaların doğru tanımlanmasının kritik olduğu senaryolarda duyarlılık metriği önemlidir.

Python'da Scikit-learn ile Karışıklık Matrisi

Bunu somutlaştırmak için, Python'da Scikit-learn kullanarak bir Rastgele Orman (Random Forest) sınıflandırıcı ile bir karışıklık matrisi oluşturalım.

İlk adım, gerekli kütüphaneleri içe aktarmak ve sentetik veri kümenizi oluşturmaktır.

# Import Libraries
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import seaborn as sns

# Synthetic Dataset
X, y = make_classification(n_samples=1000, n_features=20,
                           n_classes=2, random_state=42)

# Split into Training and Test Sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

Bir sonraki adım, basit bir random forest sınıflandırıcı kullanarak modeli eğitmektir

# Train the Model
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

Pratik örnekte yaptığımız gibi, sonuçları sınıflandırmamız ve bunu bir karışıklık matrisine dönüştürmemiz gerekecek. Bunu önce test verileri üzerinde tahmin yaparak ve ardından bir Karışıklık Matrisi üreterek yapıyoruz:

# Predict on the Test Data
y_pred = model.predict(X_test)

# Generate the confusion matrix
cm = confusion_matrix(y_test, y_pred)

Şimdi karışıklık matrisinin görsel bir temsilini üretmek istiyoruz:

# Create a Confusion Matrix
plt.figure(figsize=(8, 8))
sns.heatmap(cm, annot=True, fmt='d', cmap='Greens')
plt.title('Confusion Matrix')
plt.ylabel('True label')
plt.xlabel('Predicted label')
plt.show()

Çıktı şu şekilde:

Karışıklık matrisi örneği

Random Forest Karışıklık Matrisi Çıktısı

Tadaa 🎉 Scikit-learn kullanarak ilk Karışıklık Matrisi'nizi başarıyla oluşturdunuz!

Sonuç

Bu makalede, bir Karışıklık Matrisinin tanımını, değerlendirme aracı etrafındaki önemli terminolojiyi ve farklı metriklerin sınırlamalarını ve önemini ele aldık. Bir Karışıklık Matrisi’ni elle hesaplayabilmek, veri bilimi bilgi birikiminiz için olduğu kadar, Scikit-learn gibi kütüphanelerle uygulayabilmek açısından da önemlidir.

Karışıklık Matrisine daha derinlemesine dalmak isterseniz, R ile karışıklık matrislerini R'de Karışıklık Matrisini Anlamak yazımızla pratik edin. Python'da Model Doğrulama kursumuzla biraz daha derine inin; burada model doğrulamanın temellerini, doğrulama tekniklerini öğrenecek ve doğrulanmış, yüksek performanslı modeller oluşturmaya başlayacaksınız.


Nisha Arya Ahmed's photo
Author
Nisha Arya Ahmed
LinkedIn

İstekli bir öğrenen olarak, teknik veri bilimi birikimimi ve güçlü kişilerarası becerilerimi hayata geçirerek teknoloji bilgimi ve yazma becerilerimi geliştirmeyi ve genişletmeyi hedefliyorum.

Farmakolojiden Veri Bilimi dünyasına geçiş yaptım ve Lambda School ile 9 aylık bir bootcamp tamamladım. 

Makine Öğrenimi ve Yapay Zekâ alanlarında teknik kodlama ve yazma becerilerimi uygulamak ve geliştirmekle ilgileniyorum. ​

Şu anda Veri Bilimci ve Serbest Çalışan Teknik Yazarı olarak çalışıyorum.

Konular
Makine Öğrenimi
Yapay Zeka

Karışıklık Matrisi Hakkında Daha Fazla Bilgi Edinin

Kurs

Python'da Model Doğrulama

4 sa
31.3K
Model doğrulamanın temellerini ve doğrulama tekniklerini öğrenin ve doğrulanmış, yüksek performanslı modeller oluşturmaya başlayın.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Devamını GörDevamını Gör