Reputation: 2197
To feed my generative neural net, I need to normalize some data between -1 and 1.
I do it with MinMaxScaler
from Sklearn and it works great.
Now, my generator is going to output data between -1 and 1.
How to revert MinMaxScaler
to get real data ?
Upvotes: 21
Views: 62051
Reputation: 21
def rev_min_max_func(scaled_val):
max_val = max(df['target'])
min_val = min(df['target'])
og_val = (scaled_val*(max_val - min_val)) + min_val
return og_val
df['pred_target'] = scaled_labeled_df['pred_scaled_target'].apply(lambda x: rev_min_max_func(x))
Even this works for me!
Upvotes: 1
Reputation: 2785
Let us start by defining a pandas dataframe:
cols = ['A', 'B']
data = pd.DataFrame(np.array([[2,3],[1.02,1.2],[0.5,0.3]]),columns=cols)
The we scale the data using the MinMaxScaler
scaler = preprocessing.MinMaxScaler(feature_range = (0,1))
scaled_data = scaler.fit_transform(data[cols])
Now, to invert the transformation you should call the inverse transform:
scaler.inverse_transform(scaled_data)
Upvotes: 35