I want to use techniques of normalisation and standardisation to pre-process my data in readiness for ML algorithms.
My understanding is that this boils down to: (1) squashing my data within a range (cf for instance how the top answer here gives an equation to squash the data within (0,1): How to normalize data to 0-1 range?). Or (2) scaling it to be more "Gaussian" by mean-centring (subtract mean) then dividing by standard-deviation.
I have a few questions about this. Can anyone explain whether it's statistically valid or useful to do (1) and then (2)? (2) and then (1)? How should I choose between these possibilities and just doing (1) or (2), alone?
I also heard that interval attributes (e.g. Celsius temperature) can't be standardised this way (e.g. dividing by stdev is fair enough, but subtracting the mean is not as it's not a ratio attribute). Is normalisation (squashing within a range) appropriate for interval attributes? What transformations can we use for them, if not?
Finally, what about the possibility of alternative modes of transformation, like taking logs or square root. How does that fit in with the above, and under what circumstances should I consider one of these instead of or together with (1) and/or (2) above? What about e.g. the "Robust transformation" proposed here: When to Normalization and Standardization? -- how should I weigh this up compared to usual normalisation and standardisation?