双峰偏态数据如何转变为正态分布数据

最近掌柜遇到这样一组数据,它呈现出双峰偏态形状:

大家都知道,在构建模型的时候都尽量要让偏态数据转换为正态分布数据。

所以问题又来了?为什么偏态数据要尽量转换为正态分布数据呢?
因为很多模型假设数据服从正态分布后,它的样本均值和方差就相互独立,这样就能更好的进行统计推断和假设验证。比如熟悉的线性回归就是假设误差服从正态分布。

好了,现在回到这里,刚刚上图显示的是双峰偏态数据,掌柜查阅了一下,发现如果要转换成正态分布形式的话,可以使用Sklearn里面的QuantileTransformer方法。具体使用方法如下:

from sklearn.preprocessing import QuantileTransformer

QuantileTransformer(data, n_quantiles = 300,output_distribution='normal', random_state=0)

这里的参数n_quantiles指的是要计算的分位数,默认取值是1000。而通过设置另一个参数 output_distribution='normal' 就可以把这里的双峰偏态数据 转换成一个正态分布的形式。

下图👇就是掌柜用QuantileTransformer对上面的变量进行转换后得到的对比图:
🧐接下来就可以愉快的进行模型的构建了。

参考资料:
Sklearn官网之映射数据为正态分布
数据的偏态分布

全部评论

相关推荐

11-04 19:05
已编辑
东莞城市学院 单片机
不知道怎么取名字_:你这个要实习两年?哪有这么久的,感觉就是即使你毕业了,但还按实习的话,是不是不用给你缴社保公积金啥的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务