z-score归一化python代码
时间: 2023-06-05 07:47:34 浏览: 315
z-score归一化是一种常见的数据预处理方法,它可以将不同类型、单位、范围的特征值归一到相同的尺度上。在Python中,可以使用scikit-learn库中的preprocessing模块来实现z-score归一化。以下是示例代码:
```
from sklearn.preprocessing import StandardScaler
import numpy as np
# 创建样本数据
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 使用StandardScaler类进行z-score归一化
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
print("原始数据:\n", X)
print("归一化后的数据:\n", X_scaled)
```
输出结果为:
```
原始数据:
[[1 2 3]
[4 5 6]
[7 8 9]]
归一化后的数据:
[[-1.22474487 -1.22474487 -1.22474487]
[ 0. 0. 0. ]
[ 1.22474487 1.22474487 1.22474487]]
```
可以看到,使用StandardScaler类对原始数据进行了z-score归一化,使得每个特征的平均值为0,标准差为1。
相关问题
写一个数据集比较大的z-score归一化python代码
当数据集较大时,建议使用numpy库来进行z-score归一化,因为numpy库的运算速度比较快。
以下是一个数据集较大的z-score归一化的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
print(data_norm)
```
其中,`np.random.rand(10, 5)`生成了一个10行5列的随机数据集,`np.mean(data, axis=0)`和`np.std(data, axis=0)`计算了每列的均值和标准差,最后使用`(data - mean) / std`计算了z-score归一化后的数据集。
python对数组进行L2范数归一化和z-score归一化的代码
L2范数归一化:
```python
import numpy as np
def l2_normalize(x):
norm = np.linalg.norm(x)
if norm == 0:
return x
else:
return x / norm
arr = np.array([1, 2, 3, 4, 5])
l2_norm = l2_normalize(arr)
print(l2_norm)
```
z-score归一化:
```python
import numpy as np
def z_score_normalize(x):
mean = np.mean(x)
std = np.std(x)
return (x - mean) / std
arr = np.array([1, 2, 3, 4, 5])
z_score_norm = z_score_normalize(arr)
print(z_score_norm)
```
注意,以上两种方法都是对一维数组进行归一化操作,如果是多维数组,则需要对每个维度进行操作。另外,z-score归一化只适用于数据呈正态分布的情况。
阅读全文
相关推荐















