data normalization
feature scaling
data preprocessing
machine learning
data science

Normalize a feature in this table

ML System Design practice on Codemia

Design recommenders, ranking systems and training pipelines the way ML interviews actually ask for them, with worked solutions.

Practice ML system design

When working with datasets, it's common to encounter features (or columns) that have vastly different scales or units of measurement. Normalizing a feature involves adjusting its values to fit within a particular range, typically [0, 1] or [-1, 1]. This process helps improve the performance and convergence speed of many machine learning algorithms, particularly those that rely on gradient descent.

Why Normalize Features?

Normalization is vital for several reasons:

  1. Algorithm Efficiency: Algorithms like gradient descent converge faster and more reliably when features are on a similar scale.
  2. Equal Metric Contribution: In distance-based methods like K-Nearest Neighbors, unnormalized features with large scales can dominate the distance computation, skewing results.
  3. Model Coefficient Interpretability: In linear models, normalization allows you to compare model coefficients directly to understand feature importance.

Techniques for Normalizing Features

Several techniques exist to normalize features, each with its own use cases and implications:

Min-Max Scaling

Min-max scaling transforms a feature to a fixed range, usually [0, 1]. The formula is:

x=xmin(x)max(x)min(x)x' = \frac{x - \min(x)}{\max(x) - \min(x)}

  • Use Case: Useful when data has a bounded range and needs to be fit exactly within a specific interval.
  • Effect: The smallest value in the feature becomes 0, and the largest becomes 1.

Z-score Normalization (Standardization)

Z-score normalization centers data around the mean and scales it based on the standard deviation:

x=xμσx' = \frac{x - \mu}{\sigma} where μ\mu is the mean and σ\sigma is the standard deviation.

  • Use Case: Suitable when data typically follows a Gaussian distribution, or when the relative scaling among features is more critical than a fixed range.
  • Effect: Transforms data to have a mean of 0 and a standard deviation of 1.

Robust Scaling

Robust scaling uses the median and interquartile range to scale features, offering greater resistance to outliers:

x=xmedian(x)IQR(x)x' = \frac{x - \text{median}(x)}{\text{IQR}(x)}

  • Use Case: Ideal for datasets with significant outliers that could skew the min-max or standard scaling.
  • Effect: Centers and scales data by the median and IQR, providing a more robust transformation in the presence of outliers.

Example Implementation

Consider a simple dataset with three features: age, salary, and tenure. The goal is to normalize these features:

IDAgeSalaryTenure
125500005
2326000010
340800008
428520003

Applying Min-Max Scaling

First, compute the min and max for each feature:

  • Age: min=25\min=25, max=40\max=40
  • Salary: min=50000\min=50000, max=80000\max=80000
  • Tenure: min=3\min=3, max=10\max=10

Next, apply the min-max formula to each feature.

Normalized Data

IDAgeSalaryTenure
10.000.000.2857
20.470.331.0000
31.001.000.7143
40.200.06670.0000

Applying Z-score Normalization

Compute the mean and standard deviation for each feature:

  • Age: μ=31.25\mu=31.25, σ=6.40\sigma=6.40
  • Salary: μ=60500\mu=60500, σ=12649.11\sigma=12649.11
  • Tenure: μ=6.5\mu=6.5, σ=2.69\sigma=2.69

Apply the z-score formula.

Normalized Data

IDAgeSalaryTenure
1-0.98-0.83-0.56
20.12-0.041.30
31.371.540.56
4-0.51-0.67-1.30

Conclusion

Normalizing features is a crucial preprocessing step in many data analysis and machine learning processes. It ensures that features contribute equally and that the learning algorithms perform optimally. While min-max scaling and z-score normalization are the most common techniques, the choice of normalization method depends on the specific dataset and application context. Understanding the distribution and scale of your data will guide you toward the appropriate normalization method, leading to better model performance and interpretability.


Related reading
Free course
Beginner
7 lessons
2 hours
Tackling System Design Interview Problems

A short course that equips you with the skills to approach system design interviews methodically.

Start the free course
Track what you have practised

A free account saves your progress, solutions and study plan across every problem on Codemia.

ML System Design practice on Codemia

Design recommenders, ranking systems and training pipelines the way ML interviews actually ask for them, with worked solutions.

Practice ML system design

All Rights Reserved.