Normalization › Limitations and Considerations
Machine Learning from ScratchAll chapters Normalization › Limitations and ConsiderationsOne section · Sections in this chapter7 / 10 ↓
Reading tools Definitions & inline links
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
When applying normalization, keep in mind several important limitations:
- Outlier sensitivity: Normalization is highly sensitive to outliers, as extreme values can compress the majority of data into a small range.
- Tip: Consider using robust scaling methods or removing outliers before normalization.
- Sparse data: For sparse matrices, normalization can convert the data into a dense format, which is inefficient and memory-intensive.
- Tip: Use
MinMaxScaler(feature_range=(0, 1))with sparse data carefully.
- Tip: Use
- Categorical variables: Do not normalize one-hot encoded or ordinal categorical variables, as this can destroy their intended meaning.
- Target variable: In most cases, avoid normalizing the target variable unless there is a specific reason to do so.
When applying normalization to your data, it's important to be aware of several common pitfalls that can affect the quality of your results and potentially introduce bias into your models. Understanding these issues in advance can help you avoid costly mistakes and ensure that your preprocessing pipeline is reliable. Be aware of these common pitfalls:
- Data leakage: Fitting the scaler on the entire dataset (including the test set) introduces information from the test data into the training process, leading to overly optimistic performance estimates.
- Best practice: Always fit the scaler only on the training data, then use it to transform both the training and test sets.
- Inconsistent scaling: Using different scalers for training and test data can result in mismatched feature distributions.
- Over-normalization: Normalizing features that are already in the desired range can be unnecessary or even harmful.
- Categorical confusion: Normalizing categorical variables that should remain discrete can undermine their interpretability and utility.
For neural networks, you might want to use MinMaxScaler(feature_range=(-1, 1)) to center the data around zero, which can improve training stability for certain activation functions.