How to denormalize the output

24 views (last 30 days)
Sam Kalho
Sam Kalho on 23 Feb 2022
Commented: Star Strider on 23 Feb 2022
Hello all,
I need your help to solve my problem.
I used the 'normalize' command to prepare my dataset for Deep Learning.
data_normalized = normalize(data, 'range', [-1 1]) ;
Do you have any idea how I can just denormalize my output at the end?
I don't know how to use "mapminmax" instead of "normalize" for neural networks.
Now I wanted to denormalize my prediction again. I have a problem doing this. Could you please help me on this?
I would be very grateful to you guys.
Thank you in advance.
I looked up in MATLAB documentation that 'range' or 'rescale' is calculated using the following function.
Xrescaled=a+[X-minXmaxX-minX](b-a) .
My code is :
a = (YPred_mat+1)./2
b = (max(YPred_mat)-min(YPred_mat));
YPred_denormalized = (b.*a1)+ min(YPred_mat);
Thanks.

Accepted Answer

Star Strider
Star Strider on 23 Feb 2022
Assuming that the normalisation was by z-score, if the mean and standard deviation of the original data were calculated and saved, then de-normalising them would be straightforward:
data_denormed = (data_zscore * data_standard_deviation) + data_mean;
If those data were not saved, then all is lost.
.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!