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

说明

是对 归一化 的进一步处理

公式

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

解释:

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

例子

  1. import numpy as np
  2. #生成1行6列的数组,其元素是0-100之间的数字
  3. X = np.random.randint(0,100,(1,6))
  4. #取最大值最小值
  5. Xmin = np.min(X)
  6. Xmax = np.max(X)
  7. #将数据映射到[-1,1]区间 即a=-1,b=1
  8. a = -1
  9. b = 1
  10. Y = a + (b-a)/(Xmax-Xmin)*(X-Xmin)
  11. print("原数据:")
  12. print(X)
  13. print("映射到[-1,1]后:")
  14. print(Y)
  15. avg = np.sum(Y)/6
  16. print("平均数:",avg)

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


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