How do i denormalize the data after i have used the "normalize" function?
64 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I have normalized my data using the formula given and now i need to renormalize it to the original version, not (0,1) or (-1,1). What function do i use? Pls help! i couldnt find a "denormalize" function anywhere!
%Data needs to be normalized
inputs = normalize(inputs);
targets = normalize(targets);
inputs2020 = normalize(inputs2020);
targets2020 = normalize(targets2020);
7 Kommentare
Star Strider
am 7 Mär. 2020
@CLHE —
The neural network information is new. To denormalise the results of the neural network, multiply them by the standard deviation and then add the mean.
dpb
am 7 Mär. 2020
Isn't the output rescaled back to the same units as the original? I've not used the ML NN models/don't have the TB so not sure how they actually work in that regards...
Akzeptierte Antwort
John D'Errico
am 7 Mär. 2020
Bearbeitet: John D'Errico
am 7 Mär. 2020
You can't. Well, you can, but only if you do what you need in advance.
X = 1:5
X =
1 2 3 4 5
normalize(X)
ans =
-1.2649 -0.63246 0 0.63246 1.2649
normalize(2*X)
ans =
-1.2649 -0.63246 0 0.63246 1.2649
Can you see that normaize produces exactly the same result for both X and 2*X? If so, then you must surely understand that merely from the normalized data, you can never recover the original data.
You absolutely need to save the transformation parameters for how the data was normalized. Otherwise, denormalization is impossible.
However, if we store the normalization parameters, then recovery is possible.
mu = mean(X);
S = std(X);
Xnorm = (X - mu)/S
Xnorm =
-1.2649 -0.63246 0 0.63246 1.2649
Xnorm*S + mu
ans =
1 2 3 4 5
As you see, Xnorm is the same thing as what normalize produced, but now we can recover X from Xnorm.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!