特征工程

在这里插入图片描述

1. Box-Cox变换

现实中的数据未必符合正态分布,如下图:
在这里插入图片描述
画出分布图可以看到,这显然不是正态分布的钟形曲线。为了解决这个问题,就需要转化数据使之符合正态分布。但开始之前,我们需要衡量上图的这种“偏离”程度。于是我们引入“偏度”这个概念。

偏度(skewness),表征分布函数曲线相对于平均值的不对称程度。

  • 正态分布的偏度为0,则:两侧尾部长度对称;
  • 偏度为负,即负偏离(左偏离),则:数据位于平均值左边的比右边的少,直观表现为左边的尾部相对于右边的尾部要长。
  • 偏度为正,即正偏离(右偏态),则:数据位于平均值右边的比左边的少,直观表现为右边的尾部相对于左边的尾部要长。

右偏时:平均数>中位数>众数,左偏时:众数>中位数>平均数。正态分布三者相等。
在这里插入图片描述
使用Box-Cox变换可以将数据分布的偏度降下来。
boxcox变换定义如下:
参数λ, 输入X,输出Y
i f λ ! = 0 , Y = ( X λ − 1 ) / λ ; i f λ = 0 , Y = l o g ( 1 + X ) if λ!=0,Y=(X^\lambda−1)/λ;\\ifλ=0,Y=log(1+X) ifλ!=0,Y=(Xλ1)/λ;ifλ=0,Y=log(1+X)

如果对图二分布进行对数变换,较小数据之间的差异将会变大(因为对数函数的斜率很小),而较大数据之间的差异将减少(因为该分布中较大数据的斜率很小)。如果你拓展了左尾的差异,减少了右尾的差异,结果将是方差恒定、形状对称的正态分布(无论均值大小如何)。

from scipy.special import boxcox1p
all_data[feat] = boxcox1p(all_data[feat], lam)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值