Veri Kalitesi
Modül 2: Veri Temizleme
Makine öğreniminin en kritik kalite kontrol aşaması! Bu modülde, eksik değerleri akıllıca dolduracak, aykırı değerleri tespit edecek ve veri sızıntısı olmadan temiz bir veri seti oluşturacaksınız.
🎯 Modül Hedefleri
Eksik Değerler
NaN Yönetimi
Aykırı Değerler
Outlier Tespiti
⚡ Hızlı Gösteri: Temizleme Öncesi/Sonrası
🎯 Problem: Eksik Değerler
NaN'lar model eğitimini engeller. Medyan doldurma, ortalamaya göre aykırı değerlere karşı daha güvenilirdir.
📈 Problem: Aykırı Değerler
Uç noktalar modeli yanıltır. IQR yöntemi ile tespit ve log dönüşümü ile etkisini azaltabilirsiniz.
💡 Kritik Kural
- Temizleme işlemlerini sadece eğitim verisine uygula
- Test verisinde sadece transform uygula
- Veri sızıntısı modeli geçersiz kılar!
📚 Modül İçeriği
🔄 Temizleme Senaryoları
Sayısal Veri - Eksik Değer
Yaş sütununda NaN → Medyan ile doldur
Kategorik Veri - Eksik Değer
Şehir sütununda NaN → En sık değer ile doldur
Aykırı Değer - Gelir
Gelir > 1.000.000 → Log dönüşümü uygula
🚀 Temizleme Kodu
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import FunctionTransformer
import numpy as np
# Eksik değer doldurma
numeric_imputer = SimpleImputer(strategy='median')
categorical_imputer = SimpleImputer(strategy='most_frequent')
# Aykırı değer düzeltme (log dönüşümü)
log_transformer = FunctionTransformer(
lambda x: np.log1p(np.clip(x, 0, None))
)
# Sadece eğitim verisine uygula!
X_train_clean = numeric_imputer.fit_transform(X_train)
X_test_clean = numeric_imputer.transform(X_test)
🎯 Mini Görev
Görev: Temizleme Stratejisi
Aşağıdaki senaryolar için en uygun temizleme yöntemini seçin: