一、为什么正态分布
1、根据中心极限定理,如果一个事物受到多种因素的影响,不管每个因素本身是什么分布,它们加总后,结果的平均值就是正态分布;
2、如果各种因素对结果的影响不是相加,而是相乘,那么最终结果不是正态分布,而是对数正态分布(log normal distribution),即 x 的对数值log(x)满足正态分布;
3、正态分布只依赖于数据集的两个特征:样本的均值和方差,非常简单而又容易被解释和理解;
二、正态分布转换
1、深度学习:BatchNormalize,可以加快神经网络训练速度,防止过拟合
2、数据层面:进行Boxcox变换
scipy.stats.boxcox(x, lmbda=None, alpha=None)
三、特征工程 参考:推荐算法的特征工程
1、实体选择:user fields、item fields、context fields
a. user fields:用户画面特征,年龄、性别、经纬度(geo hash)、职业、偏好等;
b. item fields:商品测属性,类目、店铺、品牌、1/3/7//9 销量、价格(分类目归一化)、新人价等;
c. context field:上下文特征、时间特征、交叉特征
2、特征分箱、聚合
a. 用户分组:比如按照年龄段、地区、职业等统计均值、方差等统计特征
b. 商品分组:比如按照商品属性特征统计不同类目下的销量
c. 用户商品分组:比如不同类别的人对不同品类商品的偏好程度
3、特征交叉
在实体分箱的基础上做特征交叉,得到二阶、三阶或更高阶特征,可以使用xgboost等树模型进行分箱后得到特征输入模型中,例如:GBDT+LR
特征工程小trick:
rankGuass