特征工程——特征预处理(归一化和标准化),通过例子并利用sklearn实现归一化和标准化
发布日期:2021-05-15 00:33:56 浏览次数:15 分类:精选文章

本文共 1062 字,大约阅读时间需要 3 分钟。

特征工程:特征预处理

特征预处理是数据挖掘和机器学习中非常重要的一环。通过对原始特征数据进行转换,使其更适合后续模型训练的需求。接下来,我们详细讲解归一化和标准化,两种核心的特征预处理方法。


1.1 什么是特征预处理

特征预处理的定义是通过一些转换函数,将原始数据转换成更加适合算法模型的特征数据。例如,归一化和标准化是两种常见的预处理方法,它们帮助数据处于同一尺度,提升算法的性能。


1.2 归一化

定义

归一化的目标是将数据范围缩放到一种标准区间,通常是 [0,1]。通过减少特征量纲的差异,消除数据维度间的影响,使算法更容易学习。

公式

归一化使用最小-最大公式: [ X' = \frac{X - min(X)}{max(X) - min(X)} ] 其中,min(X) 和 max(X) 分别是列的最小值和最大值。

API

使用 sklearn.preprocessing.MinMaxScaler,代码示例如下:

from sklearn.preprocessing import MinMaxScaler
transfer = MinMaxScaler(feature_range=(2, 3))
X = transfer.fit_transform(X)

重要性

归一化适合小数据集,但容易受到异常数据的影响。例如,极端值可能占主导地位,影响模型性能。


1.3 标准化

定义

标准化则是将数据转换为均值为0、标准差为1的方式,通常用于特征的零均值化,减小输入� Dispersion。

公式

标准化使用均值-方差公式: [ X' = \frac{X - mean(X)}{std(X)} ]

API

使用 sklearn.preprocessing.StandardScaler,代码示例如下:

from sklearn.preprocessing import StandardScaler
transfer = StandardScaler()
X = transfer.fit_transform(X)

重要性

标准化在大数据场景下更具鲁棒性,异常点对结果的影响较小,因此更适合现代数据挖掘任务。


1.4 对比归一化和标准化

  • 适用场景

    • 归一化:适合小数据集、传统模型。
    • 标准化:适合大数据集、复杂模型。
  • 处理异常点

    • 归一化:较不鲁棒,极端值会影响结果。
    • 标准化:异常点对均值影响小,数据分布更稳定。

通过合理选择归一化或标准化,可以显著提升模型性能。了解两者的优缺点,有助于做出更好的特征工程选择。

上一篇:redis缓存清除
下一篇:特征工程——为什么要特征降维?特征降维有哪些方法?如何使用sklearn实现?

发表评论

最新留言

很好
[***.229.124.182]2025年05月01日 11时25分11秒