Skip to content

Latest commit

 

History

History
105 lines (57 loc) · 4.86 KB

data-scaling-python.md

File metadata and controls

105 lines (57 loc) · 4.86 KB

使用 Python 进行数据缩放

原文:www.kdnuggets.com/2023/07/data-scaling-python.html

数据缩放与 Python

图像由 Unsplash 提供

在机器学习过程中,数据缩放属于数据预处理或特征工程。在用于模型构建之前缩放数据可以实现以下目的:

  • 缩放确保特征值在相同范围内

  • 缩放确保用于模型构建的特征是无量纲的

  • 缩放可用于检测离群值


我们的三大推荐课程

1. Google 网络安全证书 - 快速进入网络安全职业轨道。

2. Google 数据分析专业证书 - 提升您的数据分析技能

3. Google IT 支持专业证书 - 支持您的组织 IT


数据缩放有多种方法。其中两个最重要的缩放技术是归一化和标准化。

使用归一化的数据缩放

当数据使用归一化进行缩放时,转换后的数据可以使用此方程计算

方程

其中 方程方程 是数据的最大值和最小值。得到的缩放数据范围在 [0, 1] 之间。

Python 实现归一化

使用归一化进行缩放可以使用下面的代码在 Python 中实现:

from sklearn.preprocessing import Normalizer
norm = Normalizer()
X_norm = norm.fit_transform(data)

设 X 为给定数据,具有 方程方程。数据 X 如下图所示:

数据缩放与 Python

图 1. 数据 X 的箱线图,值在 17.7 和 71.4 之间。图像由作者提供。

归一化后的 X 如下图所示:

数据缩放与 Python

图 2. 归一化后的 X 值在 0 和 1 之间。图像由作者提供。

使用标准化的数据缩放

理想情况下,当数据呈正态分布或高斯分布时,应使用标准化。标准化的数据可以按如下方式计算:

方程

在这里,公式 是数据的均值,而 公式 是标准差。标准化值通常应在[-2, 2]范围内,这代表 95%的置信区间。标准化值小于-2 或大于 2 的情况可以被视为异常值。因此,标准化可以用于异常值检测。

标准化的 Python 实现

使用标准化进行缩放可以通过以下代码在 Python 中实现:

from sklearn.preprocessing import StandardScaler
stdsc = StandardScaler()
X_std = stdsc.fit_transform(data)

使用上述描述的数据,标准化数据如下所示:

使用 Python 进行数据缩放

图 3. 标准化 X。作者提供的图片。

标准化均值为零。从上面的图中我们可以观察到,除了少数几个异常值,大多数标准化数据都在[-2, 2]范围内。

结论

总结一下,我们讨论了两种最流行的特征缩放方法,即标准化和归一化。归一化数据的范围在[0, 1],而标准化数据通常在[-2, 2]范围内。标准化的优点是它可以用于异常值检测。

本杰明·O·塔约 是一名物理学家、数据科学教育者和作家,同时也是 DataScienceHub 的所有者。此前,本杰明曾在中欧大学、大峡谷大学和匹兹堡州立大学教授工程学和物理学。

更多相关主题