使用MAXMIN归一化之后的数据怎么反归一化,且为列表
时间: 2023-09-07 18:14:05 浏览: 184
反归一化是将经过归一化处理后的数据还原为原始数据的过程。MAXMIN归一化的反归一化公式为:
$$
x = x_{norm} \cdot (max - min) + min
$$
其中,$x$为反归一化后的原始数据,$x_{norm}$为归一化后的数据,$max$和$min$分别为原始数据的最大值和最小值。
假设归一化后的数据为列表`norm_data`,最大值为`max_val`,最小值为`min_val`,则反归一化的代码如下:
```python
def inverse_normalize(norm_data, max_val, min_val):
"""
反归一化MAXMIN归一化后的数据
:param norm_data: 归一化后的数据(列表)
:param max_val: 原始数据最大值
:param min_val: 原始数据最小值
:return: 反归一化后的原始数据(列表)
"""
return [x * (max_val - min_val) + min_val for x in norm_data]
```
使用方法示例如下:
```python
data = [1, 2, 3, 4, 5]
max_val = max(data)
min_val = min(data)
# 归一化
norm_data = [(x - min_val) / (max_val - min_val) for x in data]
# 反归一化
data2 = inverse_normalize(norm_data, max_val, min_val)
print(data2) # [1.0, 2.0, 3.0, 4.0, 5.0]
```
注意:反归一化后的数据并不完全等于原始数据,可能存在一定的误差。
阅读全文