MinMaxScaler使用

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章