🤔 What is Data Normalization?

Data normalization is the process of adjusting values in a dataset to a common scale, without distorting differences in the ranges of values.

👉 Example: If one feature ranges from 1–1000 and another from 0–1, the model might prioritize the larger range feature.

🔑 Why is Normalization Important in Machine Learning?

  1. ⚖️ Equal importance: Prevents features with larger values from dominating.

  2. 🚀 Faster convergence: Speeds up gradient descent in training neural networks.

  3. 🎯 Better accuracy: Improves performance for algorithms sensitive to scale (e.g., KNN, SVM, Logistic Regression).

🛠️ Common Normalization Techniques in Python

1️⃣ Min-Max Normalization (Rescaling)

formula

✅ Best for algorithms requiring bounded values.

from sklearn.preprocessing import MinMaxScaler
import numpy as np

data = np.array([[10], [20], [30], [40], [50]])
scaler = MinMaxScaler()
normalized_data = scaler.fit_transform(data)
print(normalized_data)

2️⃣ Z-Score Normalization (Standardization)

formula1

✅ Useful when data follows a Gaussian distribution.

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
standardized_data = scaler.fit_transform(data)
print(standardized_data)

3️⃣ Robust Normalization

from sklearn.preprocessing import RobustScaler

scaler = RobustScaler()
robust_data = scaler.fit_transform(data)
print(robust_data)

4️⃣ L2 Normalization

from sklearn.preprocessing import Normalizer

scaler = Normalizer(norm='l2')
l2_normalized = scaler.fit_transform(data)
print(l2_normalized)

🧪 When to Use Which Normalization?

TechniqueWhen to UseExample Use Case
Min-MaxWhen you need bounded values (0–1)Neural Networks
Z-ScoreWhen data is normally distributedLogistic Regression
RobustWhen dataset has many outliersFinancial Data
L2 NormalizationWhen working with vectorsNLP, Text Mining

✅ Key Takeaways