京东风控团队带你全方位解读特征工程

导读

机器学习界普遍认为:“数据和特征决定了机器学习算法的上限,而模型和算法只是不断逼近这个上限而已。” 在这场以模型效果提升为目标的数据算法博弈中,基于大数据的简单模型往往胜于基于小数据的复杂模型,优质的数据对预测结果大有裨益,而简单模型有效的关键在于好的特征工程。

在这种背景下,精细化特征工程成为成功搭建模型的必要条件。特征工程尽管重要但少有人提及,它既是科学,需要严谨细致的理论指导,它又是艺术,需要不断创新的实验精神,下面我们来一起了解下这门艺术!

特征工程是连接数据和算法的桥梁

要想了解特征工程必须首先了解什么是机器学习,机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。一个典型的机器学习框架可以用问题抽象,特征挖掘,模型选择和模型融合四个步骤进行概括,这其中特征工程是连接数据和算法的桥梁。从数学的角度讲,特征工程就是将原始数据空间变换到新的特征空间,处理后的数据会以一种机器更容易理解的方式表达数据背后的逻辑,模型能够更好学习数据表面和隐藏的规律。

特征工程主要包含如下几个环节:数据观察—>数据清洗—>特征加工—>特征选择—>特征规约。好的特征工程不仅需要我们对模型算法有深入的理解,还要有较强的专业领域知识。我们将特征工程主要涵盖的环节以及各环节需要解决的问题总结在下方的导图中,以供大家参考。


接下来,我们挑选了几个建模过程中容易被忽略却重要的细节,和大家一起探索特征工程中的黑色艺术。

好的特征工程需要好的数据质量

在数据挖掘工作过程中存在普遍共识:垃圾进垃圾出,好的特征工程一定建立在好的数据质量之上。那么如何能保证好的数据质量呢?

1. 缺失值处理

如XGBoost的一些机器学习算法可以在模型构建过程中对特征缺失值进行处置,但是俯视整个建模流程,我们并不能“放心的”把数据缺失问题直接交给算法。我们首先来回顾一下XGBoost是如何处理特征中的缺失值的:XGBoost论文中曾提及,缺失值会被分别分入左右子树,比较两者损失函数值下降的程度,然后选择最优的划分方式。这里缺失值其实是被看做一个不同于变量中任何值的值(例如:-9999)。那为什么说我们仍需在模型训练阶段之前处理缺失值?原因在于:我们需要考察值的缺失类型

举个例子:假如我们在Hive中加工一个指标“用户过往一年退货率”,统计的口径是用户过往一年退货率 = 过往一年退货单量/过往一年订单量。需要关注以下两种情况:① A顾客过往一年无退货、有订单,则该指标值为0;② B顾客过往一年无退货、无订单,则该指标值为Null。这两种情况都是没有退货记录,从业务意义上其实应该属于同一类,但是第一种情况会被后阶段模型按照不同值处理,这自然产生了信息干扰。

2. 防止数据穿越

工作中我们最常遇到的数据是时间序列数据,时间序列数据不同于截面数据,前者是按不同的时间节点收集数据,往往,当我们在不同时间观察同一个观察指标时,数据会表现出一定波动甚至周期性的差异。而数据穿越问题就像电影蝴蝶效应中的情节,如果失去时间因果论证的相关信

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值