28

数据标准化的方法

 4 years ago
source link: https://flashgene.com/archives/84747.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

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

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

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

·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。

3MJZjaV.png!web

– 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之间,此变换通常用作零均值,单位方差缩放的替代方案。

VJBniaM.png!web

– 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个分位数)之间的范围。

通过去除均值和缩放到单位方差来完成。

但是,异常值通常会以负面方式影响样本均值/方差。

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

vuUNVnb.png!web

–  Normalizer –

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

将样本单独归一化为单位范数。具有至少一个非零分量的每个样本(即,数据矩阵的每一行)独立于其他样本被重新缩放,使得其范数(l1或l2)等于1。

将输入缩放到单位规范是例如文本分类或聚类的常见操作。

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

vURBjiN.png!web

最后总结如下:

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

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

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK