numpy库是标准库吗数据归一化是数据预处理的一种常用方法,可以将数据的值映射到指定的范围内,常用的方法有最小-最大规范化和Z-score标准化。下面给出这两种方法的Python代码实现:
最小-最大规范化:
python
Copy code
def min_max_scaler(data):
"""
最小-最大规范化
:param data: 待处理数据
:return: 归一化后的数据
"""
min_val = np.min(data)
max_val = np.max(data)
if max_val - min_val == 0:
s_like(data)
else:
return (data - min_val) / (max_val - min_val)
Z-score标准化:
python
Copy code
def z_score_scaler(data):
"""
Z-score标准化
:param data: 待处理数据
:return: 归一化后的数据
"""
mean_val = np.mean(data)
std_val = np.std(data)
if std_val == 0:
s_like(data)
else:
return (data - mean_val) / std_val
以上代码使用了numpy库,其中np.min、np.max、np.mean和np.std分别计算了数组的最小值、最大值、平均值和标准差。对于特殊情况,如分母为0时,返回全为0的数组。
使用时,只需要传入需要处理的数据,即可得到归一化后的结果。例如:
python
Copy code
import numpy as np
data = np.array([1, 2, 3, 4, 5])
min_max_data = min_max_scaler(data)
z_score_data = z_score_scaler(data)
print("原始数据:", data)
print("最小-最大规范化后的数据:", min_max_data)
print("Z-score标准化后的数据:", z_score_data)
输出结果为:
css
Copy code
原始数据: [1 2 3 4 5]
最小-最大规范化后的数据: [0. 0.25 0.5 0.75 1. ]
Z-score标准化后的数据: [-1.26491106 -0.63245553 0. 0.63245553 1.26491106]
可以看到,数据归一化后的结果符合预期。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论