数据分析之特征工程的重要性

155 阅读3分钟

特征工程除了构建特征和特征选择以外,还包含数据预处理

数据预处理

离群点处理:

例如

上图中存在一定的离群点,此时我们可以对这些离群点作以下处理:

  1. 当作缺失值进行处理
  2. 删掉离群点所载样本
  3. 使用统计值进行填充

缺失值处理: 当我们面对一些缺失值时,我们应该考虑这些缺失值是否为一个真正意义上的缺失

错误值处理: 明错误值(一眼就看出来是错误的,比如身高5米......);暗错误值(比如匿名比赛时选手的信息......)

假标签处理: 常见的两种假标签:错误标签和标签和评估指标不一致

特征提取

类别特征

编码方式

自然数编码:将特征转化成对应的自然数

独热编码:转化为对应的属性树的维度的信息

count编码(替代类别特征):统计对应的类别出现的频次去替代所对应的类别特征

目标编码:观察特征对目标的影响大不大

统计方式

count

nunique(宽度)

ratio(偏好)

数值特征

交叉统计

我们可以对用户特征进行两两交叉,比如用户性别有两个属性,用户年龄有三个属性,交叉之后,我们就拥有了六个属性,力度就由粗变细了,将细腻的力度结合类别特征的统计方式,又能拓展很多细粒度的特征

行交叉(均值、中位数、最值)

业务交叉构建

离散方式

分桶

二值化(0/1)

时间特征

日期变量(年、月、周、日、小时、分钟)

距离某天的时间差,是否某个特殊日期,时间组合

时序相关特征( 历史平移,滑窗统计)

多值特征

在日常数据中,我们可能会遇见一些利用多个标签去描述的特征,这就是多值特征

one-hot:将标签进行展开(有几个值展开成多少维度)

countvectorizer:将标签展开后统计每一个值出现的频次

TF-IDF:在做nrp自然语言数据处理时常常会用到,可以得到类似于向量的展示,我们可以对该向量进行降维来获得新特征

特征选择

上面我们介绍了特征的提取,根据特征提取,我们可以构建很多特征,但是其中可能会存在一些冗余的特征,或者是一些相关性比较高的,没有价值的特征,此时,我们需要进行特征选择。常用的特征选择方法如下:

过滤法: 相关系数+卡方检验+互信息

最直接,效率较快。可以直接去衡量特征与标签之间的相关分数,将分数较低的进行过滤

封装法: 前向搜索+后向搜索

耗时。每次增加或删除一个特征就要对模型进行训练检验,如果说效果或者它的一个评价指标有提升的话,那我们可以确定一个特征是否留存

嵌入法: 基于学习模型的特征排序

可以通过某些方法获取到特征的重要性(根据特征信息增益的分数或者它整体分类的次数和来进行打分的),这样可以一次性对特征进行排序