python数据归一化操作
时间: 2023-08-28 15:06:25 浏览: 153
数据归一化操作是将数据按照一定的比例缩放到指定的范围内,常用的归一化方法有最小-最大归一化和标准化。在Python中,可以使用scikit-learn库中的MinMaxScaler和StandardScaler类来实现数据归一化。
最小-最大归一化:
最小-最大归一化将数据缩放到[0,1]之间,公式如下:
$$x_{new}=\frac{x-x_{min}}{x_{max}-x_{min}}$$
其中,$x_{min}$和$x_{max}$分别为数据集中的最小值和最大值。
示例代码:
```python
from sklearn.preprocessing import MinMaxScaler
data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
scaler = MinMaxScaler()
scaler.fit(data)
print(scaler.transform(data))
```
输出结果:
```
[[0. 0. ]
[0.16666667 0.25 ]
[0.33333333 0.5 ]
[1. 1. ]]
```
标准化:
标准化将数据缩放到均值为0,方差为1的正态分布中,公式如下:
$$x_{new}=\frac{x-\mu}{\sigma}$$
其中,$\mu$为数据集的均值,$\sigma$为数据集的标准差。
示例代码:
```python
from sklearn.preprocessing import StandardScaler
data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]
scaler = StandardScaler()
scaler.fit(data)
print(scaler.transform(data))
```
输出结果:
```
[[-1.34164079 -1.06904497]
[-0.4472136 -0.26726124]
[ 0.4472136 0.53452248]
[ 1.34164079 0.80178373]]
```
阅读全文