请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

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

正在回答

1回答

liuyubobobo 2019-06-25 01:43:10

不需要。


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


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


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


继续加油!:)

2 回复 有任何疑惑可以回复我~
  • 非常同意老师的观点,但是在看sklearn.preprocessing.StandardScaler官方文档的时候,有这么一段描述,感觉有点疑惑
    Standardization of a dataset is a common requirement for many machine learning estimators: they might behave badly if the individual features do not more or less look like standard normally distributed data (e.g. Gaussian with 0 mean and unit variance).
    回复 有任何疑惑可以回复我~ 2021-06-24 15:04:41
  • 首先,任何数据都可以使用 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 19:07:27
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信