将一组数据的范围映射到任意区间(归一化)

说明

是对 归一化 的进一步处理

公式

将一组数据 X 的取值范围映射到区间 [a,b],公式如下:

解释:

  • Xmax是这组数据的最大值
  • Xmin是这组数据的最小值
  • Y 为映射后的数据

例子

import numpy as np

#生成1行6列的数组,其元素是0-100之间的数字
X = np.random.randint(0,100,(1,6))
#取最大值最小值
Xmin = np.min(X)
Xmax = np.max(X)

#将数据映射到[-1,1]区间 即a=-1,b=1
a = -1
b = 1
Y = a + (b-a)/(Xmax-Xmin)*(X-Xmin)
print("原数据:")
print(X)
print("映射到[-1,1]后:")
print(Y)
avg = np.sum(Y)/6
print("平均数:",avg)

参考:
https://blog.csdn.net/sdu_hao/article/details/94764405


原文出处:https://malaoshi.top/show_1IX4khcQMmqG.html