React Flow mini map
🧠 ML Temelleriorta12 dk

Özellik Seçimi ve Mühendisliği

One-hot encoding, embedding ve feature importance

Ham veri bir elmas madeni gibidir — değerli taşlar toprağın altında gizlidir. Özellik mühendisliği, bu ham cevheri parlatıp modelin anlayabileceği kristal berraklığında bilgiye dönüştürme sanatıdır. Doğru özelliklerle basit bir model bile karmaşık rakiplerini geride bırakabilir.

Kategorik değişkenler (şehir, renk, meslek) sayısal modellerin anlayamadığı metinlerdir. *…

Pandas ile one-hot encoding

Python
1import pandas as pd
2
3df = pd.DataFrame({'renk': ['kırmızı', 'mavi', 'yeşil', 'kırmızı']})
4encoded = pd.get_dummies(df, columns=['renk'], prefix='renk')
5print(encoded)
6# renk_kırmızı renk_mavi renk_yeşil
7# 1 0 0
8# 0 1 0
9# 0 0 1
10# 1 0 0

Farklı ölçeklerdeki özellikler (yaş: 0-100, gelir: 0-1M) gradyan tabanlı modelleri yanıltı…

x_std = (x - μ) / σ

StandardScaler formülü: her değerden ortalama (μ) çıkarılır, standart sapmaya (σ) bölünür. Sonuç: çan eğrisi dağılımı merkezlenir.

Sklearn pipeline ile ölçekleme

Python
1from sklearn.preprocessing import StandardScaler
2from sklearn.pipeline import Pipeline
3from sklearn.linear_model import LogisticRegression
4
5pipeline = Pipeline([
6 ('scaler', StandardScaler()),
7 ('classifier', LogisticRegression())
8])
9
10# pipeline.fit(X_train, y_train)
11# Ölçekleme sadece train verisinden öğrenilir, test'e uygulanır

⚠️Veri sızıntısı tehlikesi! Ölçeklemeyi tüm veri üzerinde yaparsanız test setinin istatistikleri modele sızar. Daima fit_transform(train) sonra transform(test) kullanın.

Hangi özellikler gerçekten önemli? **Random Forest** ve **Gradient Boosting** modelleri he…

Random Forest ile özellik önemi

Python
1from sklearn.ensemble import RandomForestClassifier
2import pandas as pd
3
4rf = RandomForestClassifier(n_estimators=100, random_state=42)
5rf.fit(X_train, y_train)
6
7importance_df = pd.DataFrame({
8 'ozellik': X_train.columns,
9 'onem': rf.feature_importances_
10}).sort_values('onem', ascending=False)
11
12print(importance_df.head(10)) # En önemli 10 özellik

**Wrapper yöntemi**: Model eğit → en az önemli özelliği at → tekrarla.…

Filter Yöntemleri

  • ·Model bağımsız (korelasyon, varyans)
  • ·Çok hızlı hesaplama
  • ·Özellikler arası etkileşimi kaçırır

Wrapper Yöntemleri (RFE)

  • ·Model performansına dayalı
  • ·Yavaş ama hassas
  • ·Etkileşimleri dolaylı yakalar

Bazen iki özelliğin **çarpımı** tek başlarından daha anlamlıdır. Örnek: 'oda_sayısı × metr…

x_new = x₁ · x₂

Etkileşim özelliği: iki özelliğin çarpımı. Doğrusal modellerin yakalayamadığı ilişkileri ortaya çıkarır.

1000 şehir için one-hot = 1000 sütun. **Embedding** ise her şehri 8-64 boyutlu yoğun vektö…

🗺️Embedding = Anlam Haritası

One-hot encoding şehirleri bağımsız adalar gibi görür — İstanbul ile Ankara arasında mesafe kavramı yoktur. Embedding ise bir harita çizer: büyük şehirler bir kümede, sahil kasabaları başka kümede. Model bu haritayı öğrenir ve genelleme gücü katlanır.

💡Başlangıç stratejisi: Önce basit feature importance ile eleme yap, sonra kalan özelliklerle etkileşim dene. Embedding'i yüksek kardinalite (>50 kategori) durumunda düşün.

✦ Quiz

Aykırı değerler (outliers) içeren bir veri setinde hangi ölçekleme yöntemi daha sağlamdır?

✦ Quiz

One-hot encoding yerine embedding kullanmak için minimum kaç benzersiz kategori olmalı?

Bağlantılı Konular