python 标准化/归一化与逆标准化/逆归一化

标准化等公式和Python代码请参考:
python 数据归一化/标准化方法与代码(离差标准化,log归一化,标准化,比例归一化,反正切归一化)

我们使用sklearn来操作:

首先准备数据:

import numpy as np
from sklearn.preprocessing import StandardScaler, MinMaxScaler

data = np.random.random(size=(20, 2))

标准化/逆标准化

标准化的公式:(原始值-均值)/方差,因此逆标准化就是反过来推出原始值

stand_scaler = StandardScaler()

std_data = stand_scaler.fit_transform(data) # 标准化
origin_std_data = stand_scaler.inverse_transform(std_data) # 逆标准化
print(origin_std_data == data)

归一化/逆归一化

norm_scaler = MinMaxScaler()

norm_data = norm_scaler.fit_transform(data) # 归一化
origin_norm_data = norm_scaler.inverse_transform(norm_data) # 逆归一化
print(origin_norm_data == data)

注意:逆归一化时,数据由于浮点运算问题,小数点最后的几个数字无法完美还原,但是整体的还原效果还是正确的

你可能感兴趣的:(python,数据处理,python,sklearn,机器学习)