1、函数定义与反操作
1.1函数定义式:
X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))
注意这里的操作是按列操作的
1.2 反操作
X_scaled = X_std * (max - min) + min
2、实例
from sklearn.preprocessing import MinMaxScaler
import numpy as np
#正向操作
>>> x = np.array([[ 1, -1, 2],
[ 2, 0, 0],
[ 0, 1, -1]])
>>> scaler=MinMaxScaler()
>>> x_train=scaler.fit_transform(x)
>>> print(x_train)
[[0.5 0. 1. ]
[1. 0.5 0.33333333]
[0. 1. 0. ]]
#第一行三列元素计算过程:
0.5=(2-1)/(2-0)=1/2=0.5
0=(-1--1)/(1--1)=0/2=0
1=(2--1)/(2--1)=1
#反向操作
>>>y=scaler.inverse_transform(x_train)
>>> y
array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
#反向计算过程
1=0.5*(2-0)+0=1
-1=0*(1--1)+-1=-1
2=1*(2--1)+-1=3-1=2