数据归一化
数据归一化做了什么?
数据归一化(Normalization)是一种常见的数据预处理技术,目的是将数据缩放到一个特定的范围内,通常是 [0, 1] 或 [-1, 1]。归一化的主要目的是消除不同特征之间的量纲差异,使得模型在训练时能够更好地收敛,尤其是对于基于距离的算法(如KNN、SVM)或梯度下降优化的算法(如神经网络)。
在代码中,MinMaxScaler
被用来将 Close
列的数据缩放到 [-1, 1] 的范围内。具体来说,MinMaxScaler
通过以下公式进行归一化:
举个例子
假设我们有以下 Close
数据:
import numpy as np
from sklearn.preprocessing import MinMaxScaler# 假设的 Close 数据
data = np.array([100, 110, 105, 120, 115]).reshape(-1, 1)# 创建 MinMaxScaler 对象,范围设置为 [-1, 1]
scaler = MinMaxScaler(feature_range=(-1, 1))# 进行归一化
scaled_data = scaler.fit_transform(data)print("原始数据:\n", data)
print("归一化后的数据:\n", scaled_data)
输出结果:
原始数据:[[100][110][105][120][115]]
归一化后的数据:[[-1. ][-0.33333333][-0.66666667][ 1. ][ 0.33333333]]
解释:
通过这种方式,所有数据都被映射到了 [-1, 1] 的范围内,从而实现了归一化。