数据标准化是一个常用的数据预处理操作,目的是处理不同规模和量纲的数据,使其缩放到相同的数据区间和范围,以减少规模、特征、分布差异等对模型的影响。
比如线性回归模型、逻辑回归模型或包含矩阵的模型,它们会受到输入尺度(量纲)的影响。相反,那些基于树的模型则根本不在乎输入尺度(量纲)有多大。如果模型对输入特征的尺度(量纲)很敏感,就需要进行特征缩放。顾名思义,特征缩放会改变特征的尺度,有些人将其称为特征归一化。特征缩放通常对每个特征独立进行。下面讨论几种常用的特征缩放操作,每种操作都会产生一种不同的特征值分布。
标准化方法 | 公式 | 优点 | 缺点 | 转换区间 | 适用场景 |
Z-Score(标准化standardization) |
![]() |
适用大多数类型的数据,标准化之后的数据是以0为均值,方差为1的正态分布 | 是一种中心化方法,会改变原有数据得分布结构 | 均值为0,方差为1的标准正态分布 | 不适合用于稀疏数据的处理 |
Max-Min(归一化) |
![]() |
应用广泛,能较好的保持原有数据分布结构 | 1.分母可能为0,导致计算过程出错。 2.对异常值(离群值)的存在非常敏感 |
[0,1] | 不适合用于稀疏数据的处理 |
MaxAbs |
![]() |
保持原有数据分布结构 | 对异常值(离群值)的存在非常敏感 | [-1,1] | 稀疏数据、稀疏CSR或CSC矩阵 |
RobustScaler |
![]() |
能最大限度地保留数据集中的异常(离群点) | - | - | 最大限度保留数据集中的异常(离群值) |
Normalizer(正 |