在训练神经网络模型的时候,对数据进行预处理是必不可少的操作,而对数据进行归一化是预处理最常用的操作。
最常用的归一化方法有两种,Min-Max归一化和Z-score归一化。
Min-Max归一化
原理网上很多,直接上程序:
# Min-Max Normalization
import numpy as np
data = np.load('your_data.npy')
shape = data.shape
print(shape)
print(data)
data = data.reshape(-1)
x_max = np.max(data)
x_min = np.min(data)
print(x_max, x_min)
result = data
for i in range(len(result)):
result[i] = (data[i] - x_min)/(x_max - x_min)
print(result.shape)
result = result.reshape(shape)
print(result)
np.save('result.npy', result)
Z-score归一化
原理网上很多,直接上程序:
# Z-score Normalization
import numpy as np
from sklearn import preprocessing
data = np.load('your_data.npy')
shape = data.shape
print(shape)
data = data.reshape(-1)
print(data)
result = preprocessing.scale(data).reshape(shape)
print(result)
np.save('result.npy', result)