原理
归一化算法,常在数据运算之前使用,讲不同种的数据变成同一种数据。如在计算物体能量的时候,将重力势能,动能,热能等和计算目标相关且具有影响的数据全部转化为焦耳单位,并将数据范围扩大或缩小到便于计算与分析的数量级范围,方便后面的计算步骤。
其中归一化的计算过程多样,但总结下来一共分为两个步骤。
- 将相关数据的单位统一
- 选择一种适合的归一化方法将统一单位的数据归一化
- 最大最小
- 最常用的归一化方法,可以将数据都转化为0-1之间的小数,其数值在 0 -1 之间,必有 0 与 1
- 切比雪夫距离
- 比较常用的归一化方法,可以将数据转化为0-1之间的小数,其数值在 0-1之间,仅数据为0 的时候存在0,必存在1
- 曼哈顿距离
- 某个数量占总数量的百分比
- 欧几里德距离
- 数值在1 的上下浮动
- 最大最小
公式
-
最大最小
-
切比雪夫距离
-
曼哈顿距离
-
欧几里德距离
相关库
# 引入相关库
from sklearn.preprocessing import MinMaxScaler
# 读取归一化数据
result = pd.read_excel("./数据.xlsx",usecols=[1,2,3,4,5,6,7,8,9,10,11])
# 将数据转化为数组
list = result.to_numpy()
# 实例化归一化方法
minmax = MinMaxScaler()
# 对归一化数据格式进行设计
minmax.fit(list[:, 1].reshape(-1,1))
# 归一化并打印结果
print(minmax.transform(list[:, 1].reshape(-1,1)))