数据标准化处理方法_机器学习|数据标准化的方法

机器学习中,最重要的就是数据预处理了。

而当不同特征之间的值差距较大,分布很离散,那么可能就需要统一这些数据的量纲,以便后期的处理。

所以,今天带来的是一些数据标准化处理的方法。

主要的标准化方法先列出如下:

·StandardScaler

·MinMaxScaler

·MaxAbsScaler

·RobustScaler

·Normalizer

- StandardScaler -

sklearn.preprocessing.StandardScaler(copy = True,with_mean = True,with_std = True )通过删除均值和缩放到单位方差来标准化特征。样本x的标准分数计算如下: z =(x - u)/ s。其中u是训练样本的平均值,如果with_mean = False,则为零,s为训练样本的标准偏差,如果 with_std = False,则为1。

e9ae9b869cedec816a32cda918069bf2.png

- MinMaxScaler -

sklearn.preprocessing.MinMaxScaler(feature_range=(0, 1), copy=True),公式计算如下:X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))

X_scaled = X_std * (max - min) + min(其中min,max = feature_range。)通过将每个要素缩放到给定范围来转换要素。该估计器单独地缩放和翻译每个特征,使得它在训练集上的给定范围内,例如在0和1之间,此变换通常用作零均值,单位方差缩放的替代方案。

1a7a20d00c400a3d067e7be3801ab6e4.png

- MaxAbsScaler -

sklearn.preprocessing.MaxAbsScaler(copy=True)按每个特征的最大绝对值缩放。该估计器单独地缩放和转换每个特征,使得训练集中的每个特征的最大绝对值将为1.0。它不会移动/居中数据,因此不会破坏任何稀疏性。

- RobustScaler -

sklearn.preprocessing.RobustScaler(with_centering=True,

with_scaling=True, quantile_range=(25.0, 75.0), copy=True)

使用对异常值具有鲁棒性的统计信息来扩展要素。此Scaler根据分位数范围(默认为IQR:Interquartile Range)删除中位数并缩放数据。IQR是第1四分位数(第25个分位数)和第3个四分位数(第75个分位数)之间的范围。通过去除均值和缩放到单位方差来完成。但是,异常值通常会以负面方式影响样本均值/方差。

在这种情况下,中位数和四分位数范围通常会产生更好的结果。

558da0a977529d82e764383d5f37b625.png

- Normalizer -


sklearn.preprocessing.Normalizer(norm ='l2',copy = True )

将样本单独归一化为单位范数。具有至少一个非零分量的每个样本(即,数据矩阵的每一行)独立于其他样本被重新缩放,使得其范数(l1或l2)等于1。将输入缩放到单位规范是例如文本分类或聚类的常见操作。

例如,两个l2标准化TF-IDF向量的点积是向量的余弦相似度,并且是信息检索社区常用的向量空间模型的基本相似性度量。

82e52ce9917302c32a020ce33ba7d353.png

最后总结如下:

StandardScaler 在异常值存在的情况下无法保证平衡的特征尺度,并且StandardScaler,MinMaxScaler对异常值的存在非常敏感。

MaxAbsScaler绝对值映射在[0,1]范围内,在仅有正数据时,MaxAbsScaler与MinMaxScaler类似。

RobustScaler缩放器的居中和缩放统计数据基于百分位数,因此不受少量非常大的边际异常值的影响,变换后的特征值的结果范围大于之前的缩放器。

Normalizer将样本单独归一化为单位范数,与样本的分布无关。具体方法需通过衡量数据样本分布、及业务需求,最终采取一个合适的缩放器。

关注公众号【DC学习助手】,可以领取丰富资料包哟~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值