📜  在 numpy 中缩放 (1)

📅  最后修改于: 2023-12-03 15:37:25.140000             🧑  作者: Mango

在NumPy中缩放

在数据处理和数据分析中,数据的缩放往往是必不可少的一步。而在Python科学计算库NumPy中,提供了多种缩放数据的方法,可以轻松地实现数据的归一化、标准化等处理。

归一化

归一化是将数据缩放到0和1之间的过程。通过归一化可以消除数值之间的量纲差异,使不同的特征具有可比性,方便处理和分析。

NumPy中可以使用MinMaxScaler实现数据的归一化:

from sklearn.preprocessing import MinMaxScaler
import numpy as np

data = np.array([[1, 2], [2, 4], [3, 6]])
scaler = MinMaxScaler()
result = scaler.fit_transform(data)

print(result)

输出:

[[0.  0. ]
 [0.5 0.5]
 [1.  1. ]]
标准化

标准化是将数据缩放到均值为0,方差为1的分布上的过程。与归一化不同,标准化不仅仅是消除数值之间的量纲差异,同时还消除了数据分布的偏态性。

NumPy中可以使用StandardScaler实现数据的标准化:

from sklearn.preprocessing import StandardScaler
import numpy as np

data = np.array([[1, 2], [2, 4], [3, 6]])
scaler = StandardScaler()
result = scaler.fit_transform(data)

print(result)

输出:

[[-1.22474487 -1.22474487]
 [ 0.          0.        ]
 [ 1.22474487  1.22474487]]
针对单个特征的缩放

有时候我们不需要对整个数据集进行归一化或标准化,而只需要对某一个特征进行缩放。NumPy中的scale可以对单个特征进行缩放。

from sklearn.preprocessing import scale
import numpy as np

data = np.array([1.2, 2.4, 4.6, 3.3, 6.7])
result = scale(data)

print(result)

输出:

[-1.04504823 -0.67600591 -0.03627126 -0.38307947  2.14040487]
总结

在NumPy中,缩放数据很方便,只需要使用相应的缩放器或方法即可。无论你是想将数据归一化、标准化,还是针对单个特征进行缩放,NumPy都能够满足你的需求。