用Python进行数组归一化
时间: 2024-09-26 21:16:49 浏览: 34
python numpy 按行归一化的实例
在Python中,数组归一化是一种数据预处理技术,它将数值数据缩放到特定的范围内,比如0到1之间或者-1到1之间,以便于后续的分析或模型训练。常用的归一化方法有 Min-Max 归一化和 Z-Score 归一化。
**Min-Max 归一化** (也称为线性归一化) 的公式是:
\[ \text{normalized_value} = \frac{(x - x_{min})}{(x_{max} - x_{min})} \]
其中 `x` 是原始值,`x_min` 和 `x_max` 分别是数组中的最小值和最大值。
**Z-Score 归一化** (标准分数标准化) 的公式是:
\[ \text{normalized_value} = \frac{x - \mu}{\sigma} \]
这里 `x` 是元素值,`μ` 是平均值,`σ` 是标准差。这种方法将数据转换成均值为0,方差为1的标准正态分布。
以下是这两种方法的Python示例:
```python
import numpy as np
# 假设我们有一个numpy数组 arr
arr = np.array([50, 75, 100, 125])
# Min-Max 归一化
def min_max_normalize(arr):
min_val = np.min(arr)
max_val = np.max(arr)
return (arr - min_val)
norm_arr_mm = min_max_normalize(arr)
# Z-Score 归一化
def z_score_normalize(arr):
mean = np.mean(arr)
std_dev = np.std(arr)
return (arr - mean) / std_dev
norm_arr_zs = z_score_normalize(arr)
```
阅读全文