CodeBlanks Logo Icon CodeBlanks

Ne zaman kullanılır?

Ölçeklendirme, KNN ve SVM gibi mesafe tabanlı algoritmalarda önemlidir.

Ne zaman hangisi?

Genel kurallar:

  • StandardScaler: varsayılan seçim; doğrusal modeller, SVM, PCA, KNN.
  • MinMaxScaler: sınırlı aralık gerekiyorsa (sinir ağı girdileri, pikseller) ve aykırı değer yoksa.
  • RobustScaler: belirgin aykırı değerler varsa.
  • Hiçbiri: ağaç tabanlı modellerde gerekmez.

Emin değilsen birkaçını çapraz doğrulamayla karşılaştır; seçim de bir hiperparametredir.

Sızıntı kuralı

Ölçekleyici yalnızca eğitim verisiyle fit edilir. Tüm veride fit etmek test istatistiklerini eğitime sızdırır ve skoru yapay olarak şişirir:

# YANLIŞ
sc = StandardScaler().fit(X)              # test de dahil
# DOĞRU
sc = StandardScaler().fit(X_train)
X_train_s = sc.transform(X_train)
X_test_s = sc.transform(X_test)

Test verisinde min/max eğitimdekini aşabilir; MinMax sonucunda 0-1 dışı değerler görmek normaldir.

Uygulama Aralık dışı test değeri

MinMaxScaler'ı yalnızca X_train ile fit et. X_test'i dönüştürüp yazdır; eğitim aralığının dışındaki değerin 1'den büyük çıktığını gör.

Başlangıç kodu

model.py
import numpy as np
from sklearn.preprocessing import MinMaxScaler

X_train = np.array([[10.0], [20.0], [30.0]])
X_test = np.array([[25.0], [40.0]])

# buraya yaz

Örnek çözüm

model.py
import numpy as np
from sklearn.preprocessing import MinMaxScaler

X_train = np.array([[10.0], [20.0], [30.0]])
X_test = np.array([[25.0], [40.0]])

mm = MinMaxScaler().fit(X_train)
print(mm.transform(X_test))

Beklenen çıktı

[[0.75]
 [1.5 ]]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Gelir verisinde birkaç milyarder varsa hangi ölçekleyici uygundur?

  • RobustScaler Doğru cevap
  • MinMaxScaler
  • Ölçekleme gerekmez
  • StandardScaler her zaman

Açıklama: Medyan ve IQR aykırı değerlerden etkilenmez.

2 Ölçekleyiciyi yalnızca eğitim verisiyle öğren.

Soru
sc = StandardScaler().fit(____)
Cevap
sc = StandardScaler().fit(X_train)

Açıklama: Test verisi ölçeğin öğrenilmesine katılmamalıdır.

3 Durumları seçimlerle eşleştir.

Kavram Anlamı
Varsayılan StandardScaler
Pikseller 0-255 MinMaxScaler
Aykırı değerler RobustScaler
Random forest Ölçek gerekmez

Başlangıç bölümündeki tüm dersler