将一组数据的范围映射到任意区间(归一化) 作者:马育民 • 2023-01-10 10:19 • 阅读:10159 # 说明 是对 [归一化](https://www.malaoshi.top/show_1EF44SFFqg9G.html "归一化") 的进一步处理 ### 公式 将一组数据 `X` 的取值范围映射到区间 `[a,b]`,公式如下: [![](/upload/0/0/1IX4khVd5cuq.gif)](/upload/0/0/1IX4khVd5cuq.gif) **解释:** - `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 原文出处:http://malaoshi.top/show_1IX4khcQMmqG.html