Python 实现数据归一化的几种方法

在数据科学和机器学习领域,归一化是一种常见的数据预处理技术,它将数据转换到特定的范围或分布,以便于后续的算法处理。Python 提供了多种方法来实现数据的归一化,以下是几种常用的方法。

1. 最小-最大归一化(Min-Max Normalization)

最小-最大归一化将数据转换到[0, 1]区间。公式如下:

\[ x_{norm} = \frac{x - x_{min}}{x_{max} - x_{min}} \]

其中,\( x_{norm} \) 是归一化后的值,\( x \) 是原始数据,\( x_{min} \) 是数据的最小值,\( x_{max} \) 是数据的最小值。

在 Python 中,可以使用 `numpy` 库来实现最小-最大归一化:

python

import numpy as np

# 假设 data 是你要归一化的数据

data = np.array([1, 2, 3, 4, 5])

min_max_scaler = MinMaxScaler()

data_norm = min_max_scaler.fit_transform(data.reshape(-1, 1))

2. 标准差归一化(Z-Score Normalization)

标准差归一化将数据转换到平均值为 0,标准差为 1 的正态分布。公式如下:

\[ x_{norm} = \frac{x - \mu}{\sigma} \]

其中,\( x_{norm} \) 是归一化后的值,\( x \) 是原始数据,\( \mu \) 是数据的平均值,\( \sigma \) 是数据的标准差。

在 Python 中,可以使用 `scipy` 库来实现标准差归一化:

python

from scipy import stats

# 假设 data 是你要归一化的数据

data = np.array([1, 2, 3, 4, 5])

mean = np.mean(data)

std = np.std(data)

data_norm = (data - mean) / std

3.

更多文章请关注《万象专栏》