【机器学习】数据标准化

一 作用

  1. 在做训练时,需要先将特征值标签标准化,可以防止梯度防炸和过拟合;

标签标准化后,网络预测出的数据是符合标准正态分布的—StandarScaler(),与真实值有很大差别。因为StandarScaler()对数据的处理是(真实值-平均值)/标准差。
同时在做预测时需要将输出数据逆标准化

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

二 fit+transform与fit_transform

fit+transform

  • fit():简单来说,就是求得训练集X的均值,方差,最大值,最小值,这些训练集X固有的属性。
  • transform:在fit的基础上,进行标准化,降维,归一化等操作(看具体用的是哪个工具,如PCA,StandardScaler等)。
  • 可以进行逆标准化处理

fit_transform

  • 若只用一批数据相当与fit+transform;
  • 对于多批数据,若分别使用fit_transform,这几批数据对应的平均值、标准差、最大值、最小值不相同;对于多批数据,若先使用fit再分别使用transform,这几批数据对应的平均值、标准差、最大值、最小值都与fit(X)中的处理方式相同;
  • 不可以进行逆标准化处理

二 标准差标准化 StandardScaler

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

三 极差标准化 / 归一化 MinMaxScaler

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

四 稳健标准化 RobustScaler

from sklearn.preprocessing import RobustScaler
  • 使用具有鲁棒性的统计量缩放带有异常值(离群值)的数据
  • 处理方法:该缩放器删除中位数,并根据百分位数范围(默认值为IQR:四分位间距)缩放数据;
  • IQR:是第1个四分位数(25%)和第3个四分位数(75%)之间的范围;
  • 适用性:适用于包含许多异常值的数据;
  • Outlier 的影响:RobustScaler 利用IQR进行缩放来弱化 outlier 的影响。

参考文章

  • 18
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值