likes
comments
collection
share

机器学习基础-监督学习-训练数据-数据转换和标准化

作者站长头像
站长
· 阅读数 25

数据转换和标准化是监督学习中常用的数据处理方法之一。在这里,我们将详细介绍两种常用的数据标准化方法:Z-score 标准化和最大最小值标准化。

Z-score 标准化

Z-score 标准化(也称标准差标准化)是一种常见的数据标准化方法,它可以将数据转换为均值为 0、标准差为 1 的分布。该方法的公式如下:

xstd=x−μσx_{\mathrm{std}} = \frac{x-\mu}{\sigma}xstd=σxμ

其中,xstdx_{\mathrm{std}}xstd 表示标准化后的数据,xxx 表示原始数据,μ\muμ 表示原始数据的均值,σ\sigmaσ 表示原始数据的标准差。

下面是使用 Python 对数据进行 Z-score 标准化的示例代码:

import numpy as np

# 生成随机数据
data = np.random.rand(100, 5)

# 计算数据的均值和标准差
mean = np.mean(data, axis=0)
std = np.std(data, axis=0)

# 对数据进行 Z-score 标准化
data_std = (data - mean) / std

# 输出标准化后的数据的均值和标准差
print("Mean of standardized data:", np.mean(data_std, axis=0))
print("Std of standardized data:", np.std(data_std, axis=0))

在这个示例中,我们首先生成了一个 100 行 5 列的随机数据矩阵,然后使用 numpy 库计算了数据的均值和标准差,最后对数据进行了 Z-score 标准化,并输出了标准化后的数据的均值和标准差。

Z-score 标准化适用于数据的分布比较稳定的情况,可以去除数据中的量纲差异,使得不同特征之间的数据可以进行比较和分析。但是,如果数据的分布比较离散或存在极端值,Z-score 标准化可能会失效。此时可以考虑使用其他的标准化方法。

最大最小值标准化

最大最小值标准化是一种常见的数据标准化方法,它可以将数据转换到 0 到 1 的范围内。该方法的公式如下:

xnorm=x−xmin⁡xmax⁡−xmin⁡x_{\mathrm{norm}} = \frac{x-x_{\min}}{x_{\max}-x_{\min}}xnorm=xmaxxminxxmin

其中,xnormx_{\mathrm{norm}}xnorm 表示标准化后的数据,xxx 表示原始数据,xminx_{\mathrm{min}}xmin 表示原始数据的最小值,xmaxx_{\mathrm{max}}xmax 表示原始数据的最大值。

最大最小值标准化可以使数据归一化,便于不同特征或不同数据集之间进行比较和分析。例如,当两个特征的取值范围不同时,我们可以使用最大最小值标准化将它们放在相同的比例尺下。

下面是使用 Python 对数据进行最大最小值标准化的示例代码:

import numpy as np

# 生成随机数据
data = np.random.rand(100, 5)

# 计算数据的最大值和最小值
min_val = np.min(data, axis=0)
max_val = np.max(data, axis=0)

# 对数据进行最大最小值标准化
data_norm = (data - min_val) / (max_val - min_val)

# 输出标准化后的数据的最小值和最大值
print("Min of normalized data:", np.min(data_norm, axis=0))
print("Max of normalized data:", np.max(data_norm, axis=0))

在这个示例中,我们首先生成了一个 100 行 5 列的随机数据矩阵,然后使用 numpy 库计算了数据的最大值和最小值,最后对数据进行了最大最小值标准化,并输出了标准化后的数据的最小值和最大值。

转载自:https://juejin.cn/post/7229213845948973117
评论
请登录