论文合作、课题指导请联系QQ2279055353
Box-Cox
and Yeo-Johnson
变换可以将来自不同分布的数据映射到正态分布。下面的例子将这两种变换应用到6种不同的概率分布数据:Lognormal, Chi-squared, Weibull, Gaussian, Uniform, and Bimodal. 通过PowerTransformer
类,成功地将上述分布的数据映射到正态分布。可视化变换前后的数据比较之,得到下列结论:
- Box-Cox变换不支持负值的输入;
- Box-Cox变换对于
lognormal
andchi-squared
分布,表现好于Yeo-Johnson
变换;
比较分析
使用QuantileTransformer
类,我们与分位数变换对比。分位数变换在训练样本足够大的情况下,通常需要几千个样本,可以把任意分布的数据变换成正态分布。分位数变换是一种非参数方法,它的结果比参数变换,例如这里的Box-Cox and Yeo-Johnson变换,更难解释。在小样本下(几百个样本),分位数变换被证明是过度拟合的(overfitting
), 因此,推荐使用参数变换。
程序代码
# Author: Eric Chang <ericchang2017@u.northwestern.edu>
# Nicolas Hug <contact@nicolas-hug.com>
# L