Modül 3: Özellik Mühendisliği
Ham veriyi modelin anlayabileceği forma dönüştürme sanatı! Bu modülde, kategorik verileri sayısallaştıracak, ölçeklendirme yapacak, gereksiz özellikleri eleyecek ve dağılımları iyileştireceksiniz.
🎯 Modül Hedefleri
⚡ Hızlı Gösteri: Özellik Dönüşümleri
🎯 One-Hot Encoding
Kategorik verileri sayısala çevirir. "Şehir: [İstanbul, Ankara]" → [1,0] ve [0,1] sütunlarına dönüşür.
📈 Standardizasyon
Farklı ölçekteki değişkenleri aynı ölçeğe getirir. Ortalama=0, Standart Sapma=1 yapar.
💡 Log Dönüşümü
- Sağa çarpık dağılımları düzeltir
- Büyük değerleri küçültür
- Model performansını artırır
📚 Modül İçeriği
🔄 Özellik Mühendisliği Senaryoları
Kategorik → Sayısal
"Şehir: [İstanbul, Ankara, İzmir]" → One-Hot Encoding ile 3 sütun
Ölçek Farkı
Yaş: [0-100] ve Gelir: [0-1.000.000] → Standardizasyon ile aynı ölçek
Dağılım İyileştirme
Gelir dağılımı sağa çarpık → Log dönüşümü ile normalize
🚀 Özellik Mühendisliği Kodu
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.compose import ColumnTransformer
import pandas as pd
# Kategorik ve sayısal sütunları ayır
categorical_cols = ['sehir', 'cinsiyet']
numerical_cols = ['yas', 'gelir']
# Preprocessor oluştur
preprocessor = ColumnTransformer(
transformers=[
('num', StandardScaler(), numerical_cols),
('cat', OneHotEncoder(drop='first'), categorical_cols)
]
)
# Fit ve transform
X_processed = preprocessor.fit_transform(X_train)
🎯 Mini Görev
Görev: Doğru Tekniği Seç
Aşağıdaki senaryolar için en uygun özellik mühendisliği tekniğini seçin: