为了喂养我的生成神经网络,我需要将一些数据归一化到-1和1之间。
我是使用Sklearn的MinMaxScaler
来做的,效果很好。
现在,我的生成器将输出介于-1和1之间的数据。
如何恢复MinMaxScaler
以获取真实数据?
答案 0 :(得分:5)
让我们首先定义一个pandas数据帧:
cols = ['A', 'B']
data = pd.DataFrame(np.array([[2,3],[1.02,1.2],[0.5,0.3]]),columns=cols)
我们使用MinMaxScaler
缩放数据scaler = preprocessing.MinMaxScaler(feature_range = (0,1))
scaled_data = scaler.fit_transform(data[cols])
现在,要反转变换,你应该调用逆变换:
scaler.inverse_transform(scaled_data)
答案 1 :(得分:4)
您使用inverse transform执行此操作。
答案 2 :(得分:0)
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))
即使这对我有用!