MinMaxScaler详解(inverse |
您所在的位置:网站首页 › sklearn归一化函数 › MinMaxScaler详解(inverse |
LSTM中因为需要把数据进行归一化,预测后又要进行逆缩放,所以经常使用MinMaxScaler这个函数,对于逆缩放需要的数据我总是不理解,因此做了以下的工作。 #MinMaxScaler常用方法 from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler(feature_range=(-1, 1)) b = scaler.fit_transform(a) cc=scaler.inverse_transform(c)我思考的问题: MinMaxScaler的归一化原理生成的scaler模型到底记住了什么inverse_transform()方法对输入数据的要求是什么下面就来解决这三个问题! ①原理: 这里提醒两点。①MinMaxScaler模型输入数据必须是二维数据。②axis=0表示是在列中查找最大值/最小值。 The transformation is given by:: X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0)) X_scaled = X_std * (max - min) + min where min, max = feature_range.②关于scaler模型记住了什么,我们可以用具体的实例来观察。首先是代码 a=np.asarray( [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]) c=np.asarray( [[3,7]]) print(c) scaler = MinMaxScaler(feature_range=(-1, 1)) b = scaler.fit_transform(a) cc=scaler.inverse_transform(c) print(b) print(cc)输出 [[3 7]] [[-1. -1. ] [-0.5 -0.5] [ 0. 0. ] [ 1. 1. ]] [[ 3. 66.]]详解如下:我们可以发现,模型记住了范围,和原来列的最小值和最大值,即归一化的范围(-1,1),原来第一列的最大值1最小值-1,第二列的最大值18,最小值2. |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |