What is the difference between standardisation and min-max scaling?
Standardisation subtracts the mean and divides by the standard deviation, giving mean 0 and spread 1. Min-max scaling squeezes values into a fixed range, usually 0 to 1. Min-max is more affected by outliers.
Explain it simply
Standardisation answers "how many standard deviations from average is this value?" Min-max answers "how far along the range from smallest to largest is this value?"
Marks of five students: 20, 30, 40, 50, 60.
Example
Mean = (20+30+40+50+60)/5 = 40
Variance = (400+100+0+100+400)/5 = 200, std = sqrt(200) = 14.14
Standardisation z = (x - 40) / 14.14
20 -> -1.41 30 -> -0.71 40 -> 0.00 50 -> 0.71 60 -> 1.41
Min-max x' = (x - 20) / (60 - 20)
20 -> 0.00 30 -> 0.25 40 -> 0.50 50 -> 0.75 60 -> 1.00Now add one outlier, 400. The max becomes 400, so min-max sends 20, 30, 40, 50, 60 to 0, 0.026, 0.053, 0.079, 0.105: everyone is crushed into a corner. Standardisation also shifts, but less brutally.
In scikit-learn: StandardScaler and MinMaxScaler.
What to say in the interview
"Standardisation gives mean 0 and unit variance and is my default for linear models, SVM and PCA. Min-max maps to a fixed range, useful for neural networks or pixel-like data with known bounds. Both are sensitive to outliers, and if outliers are heavy I use RobustScaler, which uses median and IQR."
Common mistakes
- Assuming standardised data lies between -1 and 1; it does not.
- Using min-max on data with extreme outliers.