我有一个如下所示的倾斜分布:
如何将其转换为高斯分布?这些值代表等级,因此只要值的顺序保持不变,修改这些值就不会导致信息丢失。我这样做是为了试验不同的分布是否会改变我的 ML 模型的行为。
我正在使用 Python/NumPy/Pandas/scikit-learn。
编辑:我应该澄清我有很多功能,我希望自动转换所有功能分布。通过大量实验,我能够为单个功能找到合理的转换,但它并不能推广到其他功能:
normalize(np.log(0.30 + original)).
** 这里是图片i.stack.imgur.com/uzorK.jpg,但我没有足够的代表发布超过 2 张图片 **
normalize(np.log(0.17 + another_feature_distribution)).
在此图像中,紫色条表示另一个特征的原始分布,绿色条表示转换后的分布。无论我如何调整常数,我都不会让左侧极端的高绿色条消失。此外,我没有时间为每个功能手动查找公式。不确定这些是否足够钟形?

