Numpy数组归一化是一种将数组中的值缩放到指定范围(通常为[0,1]或[1,1])的方法,这在许多机器学习和数据分析任务中非常有用,因为它可以消除数据之间的量纲差异,使得不同特征之间具有可比性。
(图片来源网络,侵删)以下是一些常见的Numpy数组归一化方法:
1、最小最大归一化(MinMax Normalization)
最小最大归一化是将数组中的每个值减去最小值,然后除以最大值与最小值之差,这种方法可以将数组的值缩放到[0,1]的范围内。
公式:x_normalized = (x min) / (max min)
2、标准化(Standardization)
标准化是通过计算数组的均值和标准差,然后将每个值减去均值并除以标准差来实现的,这种方法可以将数组的值缩放到均值为0,标准差为1的范围内。
公式:x_normalized = (x mean) / std
3、Zscore归一化(Zscore Normalization)
Zscore归一化是通过计算数组的均值和标准差,然后将每个值减去均值并除以标准差,最后再加上均值来实现的,这种方法可以将数组的值缩放到均值为0,标准差为1的范围内。
公式:x_normalized = (x mean) / std + mean
4、小数定标(Decimal Scaling)
小数定标是将数组中的每个值除以一个给定的小数,这种方法可以将数组的值缩放到任意指定的范围内。
公式:x_normalized = x / dec
以下是使用Numpy实现这些归一化方法的示例代码:
import numpy as np 创建一个示例数组 arr = np.array([10, 20, 30, 40, 50]) 最小最大归一化 min_val = arr.min() max_val = arr.max() arr_normalized_minmax = (arr min_val) / (max_val min_val) print("MinMax Normalization:", arr_normalized_minmax) 标准化 mean_val = arr.mean() std_val = arr.std() arr_normalized_standardization = (arr mean_val) / std_val print("Standardization:", arr_normalized_standardization) Zscore归一化 arr_normalized_zscore = (arr mean_val) / std_val + mean_val print("Zscore Normalization:", arr_normalized_zscore) 小数定标 dec = 2.0 arr_normalized_decimal = arr / dec print("Decimal Scaling:", arr_normalized_decimal)
以上代码首先导入了Numpy库,并创建了一个示例数组,分别使用最小最大归一化、标准化、Zscore归一化和小数定标方法对数组进行归一化,并将结果打印出来。
最新评论
本站CDN与莫名CDN同款、亚太CDN、速度还不错,值得推荐。
感谢推荐我们公司产品、有什么活动会第一时间公布!
我在用这类站群服务器、还可以. 用很多年了。