老师,均值方差归一化前提条件必须要满足样本是正态分布才可以的吗?

来源:4-7 数据归一化

慕少1651928

2019-06-24

如果样本不是服从正态分布,归一化是否会有问题?归一化之前是否最好有正态性检验?

写回答

1回答

liuyubobobo

2019-06-25

不需要。


均值方差归一化的目的是将样本的均值化为0,标准差化为1,使得样本的所有维度都在同一尺度下。


无论是均值还是标准差,都不是仅仅在正态分布中才有的概念,是对所有的数据都有的概念。我们不需要保证样本满足正态分布,才可以做均值方差归一化。


使用这个小节的公式,对任意数据进行操作以后,数据的均值都会变为0,标准差变为1:)


继续加油!:)

2
2
liuyubobobo
回复
慕田峪6269384
首先,任何数据都可以使用 StandardScaler。其次,在数据本身就服从正态分布的条件下,效果更好。但是实际上,因为大多数真实世界的数据都可以假设看做是正态分布的,所以在不知道具体的数据分布的情况下,使用 StandardScaler 是最保险的选择。如果你非常肯定自己的某个数据非正态分布,有可能用 MinMaxScaler 更好。所以具体如何 scale 数据是一个超参数。另外值得一提的是,很多时候 scale 数据的真实 concern 是 outlier,在 outlier 问题很严重的情况下,用 sklearn 提供的 RobustScaler 或许效果更好:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.RobustScaler.html#sklearn.preprocessing.RobustScaler 但处理 outliers 更好的方式是:如果可能的话,剔除 outlier:)
2021-06-24
共2条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程