MinMaxScaler
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 77/112
- 5 dk
MinMaxScaler, veriyi 0 ile 1 arasına sıkıştırır.
MinMaxScaler
MinMaxScaler her özelliği (x - min) / (max - min) ile [0, 1] aralığına taşır. En küçük değer 0, en büyüğü 1 olur:
from sklearn.preprocessing import MinMaxScaler
mm = MinMaxScaler()
print(mm.fit_transform([[10], [20], [30]])) # [[0. ] [0.5] [1. ]]Görüntü pikselleri (0-255) ve sinir ağı girdileri gibi sınırlı aralık beklenen yerlerde kullanışlıdır. feature_range=(-1, 1) ile aralık değiştirilebilir.
Aykırı değer duyarlılığı ve RobustScaler
MinMax, min ve max'a dayandığı için tek bir aykırı değer diğer tüm değerleri dar bir aralığa sıkıştırır. RobustScaler medyan ve çeyrekler arası açıklığı kullanır:
x = np.array([[1], [2], [3], [4], [100]])
print(MinMaxScaler().fit_transform(x).ravel().round(2)) # [0. 0.01 0.02 0.03 1. ]
from sklearn.preprocessing import RobustScaler
print(RobustScaler().fit_transform(x).ravel()) # [-1. -0.5 0. 0.5 48.5]RobustScaler'da tipik değerler makul aralıkta kalır, aykırı değer ise büyük görünür.
Uygulama İki ölçekleyici
X'i MinMaxScaler ile dönüştür ve yazdır. Ardından [[30, 7500]] örneğini aynı ölçekleyiciyle transform edip yazdır.
Başlangıç kodu
import numpy as np
from sklearn.preprocessing import StandardScaler, MinMaxScaler
X = np.array([[25, 3000], [35, 5000], [45, 10000]], dtype=float)
# buraya yazÖrnek çözüm
import numpy as np
from sklearn.preprocessing import StandardScaler, MinMaxScaler
X = np.array([[25, 3000], [35, 5000], [45, 10000]], dtype=float)
mm = MinMaxScaler()
print(mm.fit_transform(X))
print(mm.transform([[30, 7500]]))Beklenen çıktı
[[0. 0. ] [0.5 0.28571429] [1. 1. ]] [[0.25 0.64285714]]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 min=0, max=200 olan bir özellikte 50, MinMaxScaler ile kaça dönüşür?
- 0.2
- 0.25 Doğru cevap
- 0.5
- 50
Açıklama: (50 - 0) / (200 - 0) = 0.25.
2 Değerleri -1 ile 1 arasına taşı.
mm = MinMaxScaler(____=(-1, 1))
mm = MinMaxScaler(feature_range=(-1, 1))
Açıklama: feature_range hedef aralığı (alt, üst) olarak alır.
3 Ölçekleyicileri eşleştir.
| Kavram | Anlamı |
|---|---|
StandardScaler |
Ortalama 0, std 1 |
MinMaxScaler |
[0, 1] aralığı |
RobustScaler |
Medyan ve IQR |
feature_range |
Hedef aralık |