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.
1Macro F1 = (F1_sınıf1 + F1_sınıf2 + F1_sınıf3) / 3Micro 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_matrix2import numpy as np34# Gerçek ve tahmin edilen değerler5y_true = [0, 1, 2, 0, 1, 2, 0, 1, 2]6y_pred = [0, 1, 1, 0, 2, 2, 0, 1, 2]78# Detaylı rapor9print(classification_report(y_true, y_pred, 10target_names=['Elma', 'Armut', 'Portakal']))Beklenen çıktı:
1precision recall f1-score support23Elma 1.00 1.00 1.00 34Armut 0.50 1.00 0.67 25Portakal 1.00 0.67 0.80 367accuracy 0.89 88macro avg 0.83 0.89 0.82 89weighted 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.
0 yorum