虽然您可以手动执行此操作,但 Python 也有一个方便的小函数,称为MinMaxScaler,它将自动应用 max-min 归一化以在0和1之间缩放数据。
假设我们有一个包含 200 个变量值的数组s和t:
import numpy as np
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
mu, sigma = 20, 10 # mean and standard deviation
s = np.random.normal(mu, sigma, 200)
t = np.random.normal(mu, sigma, 200)
如有必要,重塑变量:
s=np.reshape(s,(-1,1))
t=np.reshape(t,(-1,1))
现在,您可以看到我们正在形成两个新变量snew和tnew,我们正在使用MinMaxScaler 对其进行缩放。
scaler = MinMaxScaler()
print(scaler.fit(s))
print(scaler.fit(s))
snew=scaler.transform(s)
tnew=scaler.transform(t)
这是我们的新变量的示例:
>>> snew
array([[0.24896606],
[0.63121206],
[0.60448469],
.......
[0.49044733],
[0.28131596],
[0.32909155]
>>> tnew
array([[0.91224005],
[0.74540598],
[0.3938718 ],
.......
[0.75749275],
[0.80709325],
[0.19440844]