您的当前位置:首页正文

特征工程系列:(五)特征构造

2020-09-26 来源:客趣旅游网
特征⼯程系列:(五)特征构造

有的时候,已有的特征可能并没有有效的表征特征,尤其是针对特殊的业务的时候,极有可能需要对已有的特征进⾏变换,从⽽让特征更加能够表征特有的业务。这⾥介绍⼏种常⽤的特征构造⽅法。

(1) 统计量构造

使⽤常⽤的统计量构造特征,常⽤的统计量有:

四分位数、中位数、平均值、标准差、偏差、偏度、偏锋、离散系统通过加⼤时间周期构造

例如周和⽉,统计更长周期例如周和⽉的数据作为特征。权重

通过时间衰减组合新特征。(越靠近观测权重值⾼)

(2) 周期特征

前n个周期/天/⽉/年的周期值,如过去5天分位数、平均值等同⽐/环⽐

(3) 特征组合

可以将⼏个不同的特征进⾏组合,新的特征也许能够更好的表征数据,优先考虑强特征维度,有⼤概⼀下⼏种组合⽅式:

离散+离散:笛卡尔积

离散+连续:连续特征分桶后进⾏笛卡尔积或基于类别特征 group by,类似于聚类特征构造连续+连续:加减乘除,⼆阶差分等

(4)数学变换

基础数学变换

## 两个特征相除

autos[\"stroke_ratio\"] = autos.stroke / autos.boreautos[[\"stroke\

## ⼏个特征进⾏复杂数学运算autos[\"displacement\"] = (

np.pi * ((0.5 * autos.bore) ** 2) * autos.stroke * autos.num_of_cylinders)

对数变换

对于具有重尾分布的正数值的处理,对数变换是⼀个⾮常强⼤的⼯具。(与⾼斯分布相⽐,重尾分布的概率质量更多地位于尾部。)它压缩了分布⾼端的长尾,使之成为较短的尾部,并将低端扩展为更长的头部。指数变换

指数变换是个变换族,对数变换只是它的⼀个特例。⽤统计学术语来说,它们都是⽅差稳定化变换。Box-Cox 变换

平⽅根变换和对数变换都可以简单推⼴为Box-Cox变换

xˆ=

{xλ−1λln(x)

(λ≠0)

(λ=0)

(5) 特征拆解

对于⼀些字符串,可以通过分解,得到⼀些特征

ID numbers: '123-45-6789'

Phone numbers: '(999) 555-0123'

Street addresses: '8241 Kaggle Ln., Goose City, NV'Internet addresses: 'http://www.kaggle.comProduct codes: '0 36000 29145 2'

Dates and times: 'Mon Sep 30 07:06:05 2013'

customer[\"Policy\"] # from the Policy feature.str # through the string accessor.split(\" \

# and expanding the result into separate columnscustomer[[\"Policy\

(6) 降维

降维也是⼀种常⽤的特征构造的⽅法,降维的⽅法可以查看笔者的sklearn机器学习系列,⾥⾯有详细的介绍。

(7) 新特征发现

有时候,可以通过已有的数据,发现⼀些新的特征,这个特征可以更加明确的帮助进⾏分类,想要发现新的特征,需要做到如下:

理解特征

去了解⼀些关于数据的领域知识,这些知识可以帮你更好的了解特征研究前⼈的⼯作,帮助开阔思路

使⽤数据可视化,可以帮助直观的观察数据

(8) ⾃动构建发现

基于python 和sklearn,有⼀个称为gplearn的库,可以遗传算法和符号回归,⾃动的去探索各种可能的特征组合,从⽽发现更好的特征。具体使⽤⽅式可以查看官⽅⽂档。

Processing math: 100%

参考

《特征⼯程⼊门与实践》《精通特征⼯程》

因篇幅问题不能全部显示,请点此查看更多更全内容