Obsah

Standardizace a normalizace dat

Feature Scaling (úprava měřítka) je proces sjednocení rozsahu hodnot všech vstupních proměnných. Většina algoritmů strojového učení (zejména ty využívající metriky vzdálenosti jako k-NN, SVM nebo PCA) vyžaduje, aby data byla ve stejném měřítku, jinak budou proměnné s většími čísly neoprávněně dominovat modelu.

1. Normalizace (Min-Max Scaling)

Normalizace mění měřítko dat tak, aby všechny hodnoty ležely v pevném intervalu, obvykle <0, 1> (nebo ←1, 1>).

Vzorec: $$x_{norm} = \frac{x - x_{min}}{x_{max} - x_{min}}$$

2. Standardizace (Z-score Normalization)

Standardizace transformuje data tak, aby měla průměr 0 a směrodatnou odchylku 1. Výsledné hodnoty nejsou omezeny konkrétním rozsahem.

Vzorec: $$z = \frac{x - \mu}{\sigma}$$

Kde:

3. Srovnání: Kterou metodu zvolit?

Metoda Rozsah výstupu Citlivost na outliers Typické využití
Normalizace Fixní (0 až 1) Velmi vysoká Image processing, NN
Standardizace Neomezený Nižší PCA, Regrese, SVM

4. Praktické tipy

Ukázka v Pythonu (Scikit-Learn)

from sklearn.preprocessing import StandardScaler, MinMaxScaler
 
# Inicializace
scaler_std = StandardScaler()
scaler_norm = MinMaxScaler()
 
# Aplikace standardizace
X_train_std = scaler_std.fit_transform(X_train)
X_test_std = scaler_std.transform(X_test)
 
# Aplikace normalizace
X_train_norm = scaler_norm.fit_transform(X_train)

Související články:

Tagy: ml preprocessing statistika scaling normalization