写一个z-score归一化用于高维数据处理的python代码
时间: 2024-02-22 13:57:59 浏览: 71
以下是一个适用于高维数据处理的Python代码示例:
```python
import numpy as np
# 生成一个10行5列的随机数据集
data = np.random.rand(10, 5)
# 计算每列的均值和标准差
mean = np.mean(data, axis=0)
std = np.std(data, axis=0)
# 对数据集进行z-score归一化
data_norm = (data - mean) / std
# 生成一个100行5列的随机高维数据集
high_dim_data = np.random.rand(100, 5, 5, 5)
# 沿着第一维计算每列的均值和标准差
mean = np.mean(high_dim_data, axis=0)
std = np.std(high_dim_data, axis=0)
# 对数据集进行z-score归一化
high_dim_data_norm = (high_dim_data - mean) / std
print(high_dim_data_norm)
```
在这个示例中,我们首先使用与之前相同的方法计算了一个10行5列的随机数据集的均值和标准差,并对其进行了z-score归一化。
接下来,我们生成了一个100行5列的随机高维数据集,并使用`np.mean(high_dim_data, axis=0)`和`np.std(high_dim_data, axis=0)`沿着第一维计算了每列的均值和标准差。由于高维数据集在计算时需要指定计算轴,因此我们使用了`axis=0`参数。
最后,我们使用`(high_dim_data - mean) / std`对高维数据集进行z-score归一化,并打印了归一化后的数据集。
阅读全文