# How to choose Normalization Technique?

There are several methods to normalize data, among them are:

min-max, z-score and scale decimal.

Can I use anyone or with what criteria should I choose one of them?

No specific answer to your question, it all depends on which algorithm you are using or in other words how you will use the normalized data. Based on my experience I found that the zscore normalization performs the best, especially if you are using svm or nn.

• Any article that refutes your choice? What is the advantage of z-score? Sep 24, 2018 at 5:36
• If you have a strong math background / if you are a master/PhD student you can look at this ftp.stat.math.ethz.ch/Doc/Neural/FAQ2.html. this is one of the most important articles that explain why data normalization is important. If you do not have a strong math you can search the Google for simple articles that simply explain why data normalization is important and why zscore is very successful. If you do not find this helpful, I can share another article with you, just let me know Sep 24, 2018 at 5:48
• ftp.stat.math.ethz.ch/Doc/Neural/FAQ2.html#A_std Sep 24, 2018 at 5:50
• I understand the importance of normalization, what I do not understand is the choice of z-score in relation to the other methods. Sep 24, 2018 at 6:07
• This is what the article explains, zscore normalizes the data to be between -1 and +1, with 1 standard deviation. This is very beneficial to many training algorithms when optimize the parameters, including the nn and svm. Sep 24, 2018 at 6:10

### Normalization

Normalization is a data preparation technique that is frequently used in machine learning. The process of transforming the columns in a dataset to the same scale is referred to as normalization. Every dataset does not need to be normalized for machine learning. It is only required when the ranges of characteristics are different.

When you don’t know the distribution of your data or when you know it’s not Gaussian, normalization is a smart approach to apply. Normalization is useful when your data has variable scales and the technique you’re employing, such as k-nearest neighbors and artificial neural networks, doesn’t make assumptions about the distribution of your data.

Four common normalization techniques may be useful:

• scaling to a range
• clipping
• log scaling
• z-score

Refer to this summary table from Google Developer's Data Preparation and Feature Engineering for Machine Learning for choosing the right Normalization Technique.

Normalization Technique Formula When to Use
Linear Scaling $$x^′= \frac{(x−x_{min})}{(x_{max}−x_{min})}$$ When the feature is more-or-less uniformly distributed across a fixed range.
Clipping if $$x$$ > max, then $$x' = max$$. if $$x < min$$, then $$x' = min$$ When the feature contains some extreme outliers.
Log Scaling $$x' = log(x)$$ When the feature conforms to the power law.
Z-score $$x' = (x - μ) / σ$$ When the feature distribution does not contain extreme outliers.

For Detailed Explanation check here