Modül 5: Değerlendirme

İnteraktif Laboratuvar

5.1. Metrikler Laboratuvarı

Regresyon metriklerini interaktif deneylerle öğrenin. Veriyi manipüle edin, metriklerin nasıl değiştiğini gerçek zamanlı görün!

🎯 Öğrenme Hedefleri

0/3 tamamlandı
R² Anlayışı
Açıklama Gücü
Hata Metrikleri
RMSE vs MAE
Pratik Yorumlama
İş Bağlamı

🔬 Metrik Laboratuvarı

🎮 Kontrol Panel

30%
20 nokta
0 aykırı
Orta

📈 Gerçek vs Tahmin Dağılımı

🎯 R² (Açıklama Gücü)

0.00
-

📊 RMSE

0.00
-

💡 MAE

0.00
-

📉 Hata Dağılımı Analizi

Açıklama Gücü

0-1 arası değer alır

1'e yakın = Mükemmel uyum

0.7+ = İyi

0.5-0.7 = Orta

0.5- = Zayıf

İş Yorumu: "Bağımsız değişkenler hedefin %XX'sini açıklıyor"

RMSE

Kök Ort. Kare Hata

Gerçek birimde hata

Aşırı değerlere duyarlı

Kareler sayesinde büyük hataları cezalandırır

Düşük = İyi

İş Yorumu: "Tahminler ortalama ±X birim hata yapıyor"

MAE

Ort. Mutlak Hata

Daha robust metrik

Aykırı değerlerden daha az etkilenir

İş birimleri için daha anlaşılır

Düşük = İyi

İş Yorumu: "Ortalama X birim hata var"

💼 Pratik Uygulama: Senaryo Analizi

Deney Yapın:

  • • Gürültüyü artırın → R²'nin düştüğünü görün
  • • Aykırı değer ekleyin → RMSE'nin MAE'den daha fazla arttığını görün
  • • Mükemmel uyum yapın → R² = 1.0 olacak
  • • Veri noktalarını azaltın → Metriklerin değişkenliğini görün

Gözlemleyin:

  • • R² ne zaman güvenilir değil?
  • • RMSE vs MAE farkı ne zaman belirginleşiyor?
  • • Hangi durumlarda model revize edilmeli?
  • • İş bağlamında hangi metriği kullanırdınız?

🚀 Python ile Metrik Hesaplama

from sklearn.metrics import r2_score, mean_squared_error, mean_absolute_error
import numpy as np

# Örnek veri
y_true = [100, 200, 150, 300, 250]
y_pred = [110, 190, 140, 320, 240]

# Metrik hesaplama
r2 = r2_score(y_true, y_pred)
rmse = np.sqrt(mean_squared_error(y_true, y_pred))
mae = mean_absolute_error(y_true, y_pred)

print(f"R² Skoru: {r2:.3f}")
print(f"RMSE: {rmse:.2f}")
print(f"MAE: {mae:.2f}")

# İş zekası raporu
print(f"\n📊 İş Raporu:")
print(f"• Model değişkenlerin %{r2*100:.1f}'sini açıklıyor")
print(f"• Ortalama tahmin hatası: ±{rmse:.1f} birim")
print(f"• Mutlak ortalama hata: {mae:.1f} birim")

if r2 > 0.7:
    print("✅ Mükemmel: Model iş kararları için uygun")
elif r2 > 0.5:
    print("⚠️ Orta: İyileştirme gerekebilir")
else:
    print("❌ Zayıf: Model revize edilmeli")