Alink数据预处理

预处理:对数据的一种简单的按特征的缩放和移动。

不同类型的预处理

在这里插入图片描述

这是一个有两个特征(x/y)的二分类数据集,四种预处理方法:

  • StandardScaler:确保每个特征的平均值为0,方差为1。
  • RobustScaler:使用中位数和四分位数(四分之一),确保每个特征的统计属性都位于同一范围。
  • MinMaxScalar:移动数据,使所有特征都刚好位于0-1之间。
  • Normalizer:对每个数据点进行缩放,使得特征向量的欧式长度等于1。

一、数据标准化 / 归一化的作用

  • 提升模型精度:标准化 / 归一化使不同维度的特征在数值上更具比较性,提高分类器的准确性。
  • 提升收敛速度:对于线性模型,数据归一化使梯度下降过程更加平缓,更易正确的收敛到最优解。

二、标准差标准化 StandardScaler

使用均值与方差,对服从正态分布的数据处理,得到符合标准正态分布的数据

处理方法:标准化数据减去均值,然后除以标准差,经过处理后数据符合标准正态分布,即均值为0,标准差为1;
转化函数:x = (x-mean) / std;
**适用性:适用于本身服从正态分布的数据
**Outlier 的影响:基本可用于有outlier的情况,但在计算方差和均值时outliers仍然会影响计算。

三、极差标准化 / 归一化 MinMaxScaler

区间缩放,基于最大最小值,将数据转换到0,1区间上的

处理方法:将特征缩放到给定的最小值和最大值之间,也可以将每个特征的最大绝对值转换至单位大小。这种方法是对原始数据的线性变换,将数据归一到[0,1]中间;
转换函数:x = (x-min) / (max-min);
适用性:适用于分布范围较稳定的数据,当新数据的加入导致max/min变化,则需重新定义;
Outlier 的影响:因为outlier会影响最大值或最小值,因此对outlier非常敏感。

四、稳健标准化 RobustScaler

使用具有鲁棒性的统计量缩放带有异常值(离群值)的数据

处理方法:该缩放器删除中位数,并根据百分位数范围(默认值为IQR:四分位间距)缩放数据;
IQR:是第1个四分位数(25%)和第3个四分位数(75%)之间的范围;
适用性:适用于包含许多异常值的数据;
Outlier 的影响:RobustScaler 利用IQR进行缩放来弱化 outlier 的影响

五、总结

在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,StandardScaler表现更好(避免不同量纲对方差、协方差计算的影响);
在不涉及距离度量、协方差、数据不符合正态分布、异常值较少的时候,可使用MinMaxScaler。(eg:图像处理中,将RGB图像转换为灰度图像后将其值限定在 [0, 255] 的范围);
在带有的离群值较多的数据时,推荐使用RobustScaler。

参考文章:
1. 数据标准化/归一化normalization
2. 机器学习中数据预处理——标准化/归一化方法(scaler)
3. 缩放有离群值的数据 sklearn.preprocessing.RobustScaler
4. 标准化数据-StandardScaler

六、向量的尺度变化

image-20230115163328405

image-20230115163453588

image-20230115164105789