Multiclass Sınıflandırmada Performans Metrikleri: Confusion Matrix Ötesi

# Multiclass Sınıflandırmada Performans Metrikleri: Confusion Matrix Ötesi

Binary sınıflandırmada iki sınıf vardır; confusion matrix basit ve anlaşılırdır. Ama 3+ sınıf olunca durum karışır. Hangi sınıfın ne kadar iyi tahmin edildiğini görmek için confusion matrix'i metriklere çevirmemiz gerekir.

Precision (Hassasiyet): Modelin "Sınıf X oldu" dediği zaman ne kadar haklı?

1Precision = Doğru Pozitif / (Doğru Pozitif + Yanlış Pozitif)

Recall (Duyarlılık): Sınıf X'in kaçını yakaladı?

1Recall = Doğru Pozitif / (Doğru Pozitif + Yanlış Negatif)

F1-Score: Precision ve Recall'un ortalaması (dengeli metrik).

1F1 = 2 × (Precision × Recall) / (Precision + Recall)

Macro Average: Her sınıfın metriğini hesapla, sonra basit ortalama al.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası
1Macro F1 = (F1_sınıf1 + F1_sınıf2 + F1_sınıf3) / 3

Micro Average: Tüm TP, FP, FN topla, sonra metriği hesapla (dengesiz veri için uygun).

1Micro Precision = Toplam TP / (Toplam TP + Toplam FP)

Elma, Armut, Portakal sınıflandırması yapıyorsunuz.

1from sklearn.metrics import classification_report, confusion_matrix
2import numpy as np
3
4# Gerçek ve tahmin edilen değerler
5y_true = [0, 1, 2, 0, 1, 2, 0, 1, 2]
6y_pred = [0, 1, 1, 0, 2, 2, 0, 1, 2]
7
8# Detaylı rapor
9print(classification_report(y_true, y_pred,
10target_names=['Elma', 'Armut', 'Portakal']))

Beklenen çıktı:

1precision recall f1-score support
2
3Elma 1.00 1.00 1.00 3
4Armut 0.50 1.00 0.67 2
5Portakal 1.00 0.67 0.80 3
6
7accuracy 0.89 8
8macro avg 0.83 0.89 0.82 8
9weighted avg 0.92 0.89 0.89 8

- Macro: Sınıfları eşit ağırlıkla değerlendir (dengesiz veri sorununu göster).
- Weighted: Sınıf sayısına göre ağırlıklandır (gerçekçi resim).
- Micro: Genel başarıyı ölç.

Projenize göre seçin; çoğunlukla F1-Score weighted yeterlidir.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz