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