# Which data transformation can improve the performance of MLP neural networks for classification?

I am trying to fit several MLP neural networks models with a single hidden layer using the caret R-package. My main concern now is in the preprocessing step. My train data features (16 in total) are right-skewed or left-skewed. Please see that behaviour in the following image:

Under this situation, I am considering to transform my data, I have experimented the following transformations with their results plotted.

log, center and scale: my concern using the log transformation mixed with center and scale techniques is that the x-scales between the features are not in the same range (as you can see in the next preprocessing technique). In addition, one of the variables (c._TE.) has zero values so the log transformation convert it to -INF):

box-cox, center and scale: this seems to be right, however there is a lack of references that show the feasibility of box cox transformation in neural networks for classification:

I really appreciate any feedback or suggestion about the best preprocessing practices in my case.

• I also use normalization on my data, so the mean will be 0 and variance will be 1. In R, you can use scale function. In Python, you can use preprocessing.scale of the package sklearn. – mamatv Dec 28 '15 at 23:28
• What is the size of your data? How did you split it into train and test sets? Did you include a cross validation test set? – Ébe Isaac Mar 5 '16 at 7:32