Özellik Ölçekleme: Normalleştirme ve Standartlaştırma
MinMaxScaler, StandardScaler, RobustScaler — her birinin ne zaman ve neden kullanılacağı.
Özellik Ölçekleme: Normalleştirme ve Standartlaştırma, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.
Özellikler neden ölçeklenir?
Birçok algoritma özelliklerin MAGNITUDE değerine duyarlıdır. 0 ile 1.000.000 arasında değişen bir özellik, uzaklık veya gradyan tabanlı modellerde 0 ile 1 arasında değişen bir özelliğe baskın gelir. Ölçekleme, özellikleri karşılaştırılabilir aralıklara getirir.
Kimlerin ölçeklemeye ihtiyacı vardır?
Ölçekleme KNN, SVM, k-ortalamalar, PCA ve doğrusal/lojistik regresyon ile sinir ağları gibi gradyan inişi kullanan modeller için önemlidir. Ağaç tabanlı modeller (rastgele ormanlar ve gradyan artırma) ölçekten bağımsızdır ve buna ihtiyaç duymaz.
MinMaxScaler ile normalizasyon
Min-maks normalizasyonu, her özelliği genellikle 0 ile 1 arasında sabit bir aralığa (x - min) / (max - min) ile yeniden ölçekler. Dağılımın şeklini korur.
from sklearn.preprocessing import MinMaxScaler
import numpy as np
X = np.array([[10.0], [20.0], [30.0], [40.0]])
scaler = MinMaxScaler()
print(scaler.fit_transform(X).ravel()) # [0. 0.333 0.667 1.]StandardScaler ile standartlaştırma
Standartlaştırma, her özelliğe (x - mean) / std ile sıfır ortalama ve birim varyans kazandırır. Sonuç bir z puanıdır; değerler merkezlenir ancak sınırlandırılmaz.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
Xs = scaler.fit_transform(X)
print(Xs.ravel())
print(Xs.mean(), Xs.std()) # ~0 and ~1MinMax ve standartlaştırma karşılaştırması
Sınırlı bir aralığa ihtiyaç duyduğunuzda (ör. görüntü pikselleri veya sinir ağı girdileri) MinMax kullanın. Algoritma yaklaşık olarak sıfır merkezli veriler varsaydığında (PCA, SVM ve doğrusal modeller) Standart kullanın. MinMax, aykırı değerlere karşı daha duyarlıdır.
Aykırı değerler için RobustScaler
RobustScaler, MEDIAN etrafında merkezleme yapar ve IQR ile ölçekler. Her ikisi de aykırı değerlere dirençli olduğundan, uç değerlerin diğer ölçekleyicileri bozabileceği durumlarda doğru seçimdir.
from sklearn.preprocessing import RobustScaler
Xo = np.array([[1.0], [2.0], [3.0], [4.0], [100.0]])
print(RobustScaler().fit_transform(Xo).ravel())fit ve transform
Ölçekleyiciler parametreleri fit sırasında LEARN eder (min/maks veya mean/std değerlerini) ve bunları transform sırasında APPLY eder. fit_transform her iki işlemi tek çağrıda yapar.
scaler = StandardScaler()
scaler.fit(X) # learns mean and std
Xs = scaler.transform(X) # applies themAltın kural: Yalnızca eğitim verileriyle fit edin
Her zaman eğitim kümesi üzerinde fit edin, ardından yalnızca öğrenilen parametrelerle sınama kümesini transform edin. Sınama verileri üzerinde fit etmek, bu veriler hakkındaki bilgiyi modelinize sızdırır.
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test) # transform only!Neden sınama verileriyle fit edilmemeli?
Sınama kümesini de içeren istatistikleri kullanarak ölçekleme yaparsanız değerlendirmeniz, sahip olmaması gereken bilgileri görür; buna veri sızıntısı denir. Bu durum iyimser ve güvenilmez başarı tahminleri üretir.
Ters dönüşüm
Ölçekleyiciler işlemi inverse_transform ile tersine çevirebilir. Bu, ölçeklenmiş tahminleri raporlama amacıyla özgün birimlerine dönüştürmek için kullanışlıdır.
original = scaler.inverse_transform(X_train_scaled)
# recovers the pre-scaled valuesHedefi ölçekleme
Sınıflandırmada genellikle hedefi değil, FEATURES değerlerini ölçeklersiniz. Regresyonda hedefi de ölçekleyebilirsiniz; ancak raporlama öncesinde tahminleri tersine dönüştürmeyi ve hataları bu şekilde hesaplamayı unutmayın.
Hızlı kontrol
Ölçekleme bilginizi sınayın.
Özet
Ölçekleme araç seti:
- Ölçekleme, uzaklık/gradyan modelleri için önemlidir; ağaçlar bunu yok sayar
MinMaxScaler-> 0..1 aralığıyla sınırlandırılmış değerler;StandardScaler-> sıfır ortalama, birim varyansRobustScaler, medyanı ve IQR'ı kullanır ve aykırı değerlere dayanıklıdır- Eğitim verileri üzerinde her zaman
fit_transform, yalnızca sınama verileri üzerindetransformkullanın (sızıntıyı önleyin)
Sıkça Sorulan Sorular
“Özellik Ölçekleme: Normalleştirme ve Standartlaştırma” dersi ücretsiz mi?
Evet — “Özellik Ölçekleme: Normalleştirme ve Standartlaştırma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.
“Özellik Ölçekleme: Normalleştirme ve Standartlaştırma” dersinde ne öğreneceğim?
MinMaxScaler, StandardScaler, RobustScaler — her birinin ne zaman ve neden kullanılacağı. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Özellik Ölçekleme: Normalleştirme ve Standartlaştırma” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Aykırı Değerleri Algılama ve Kaldırma
- Kategorik Değişkenleri Kodlama
- Özellik Ölçekleme: Normalleştirme ve Standartlaştırma
- Ön İşleme Hatları Oluşturma