Numpy数组归一化

Numpy数组归一化是一种将数组中的值缩放到指定范围(通常为[0,1]或[1,1])的方法,这在许多机器学习和数据分析任务中非常有用,因为它可以消除数据之间的量纲差异,使得不同特征之间具有可比性。

Numpy数组归一化
(图片来源网络,侵删)

以下是一些常见的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归一化和小数定标方法对数组进行归一化,并将结果打印出来。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/479831.html

(0)
未希新媒体运营
上一篇 2024-04-15 17:30
下一篇 2024-04-15 17:32

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入