特征衍生

摘自知乎专栏大数据风控 ,作者正阳
特征衍生

在实际业务中,通常我们只拥有几个到几十个不等的基础变量,而多数变量没有实际含义,不适合直接建模,如用户地址(多种属性值的分类变量)、用户日消费金额(弱数值变量)。而此类变量在做一定的变换或者组合后,往往具有较强的信息价值,对数据敏感性和机器学习实战经验能起到一定的帮助作用。所以我们需要对基础特征做一些衍生类的工作,也就是业内常说的如何生成万维数据。

特征衍生也叫特征构建,是指从原始数据中构建新的特征,也属于特征选择的一种手段。特征构建工作并不完全依赖于技术,它要求我们具备相关领域丰富的知识或者实践经验,基于业务,花时间去观察和分析原始数据,思考问题的潜在形式和数据结构,从原始数据中找出一些具有物理意义的特征。

找到可以拓展的基础特征后,便可用如下几种方式衍生特征:

特征扩展
合成特征
特征组合
特征交叉
乍一听,挺难懂,这都什么东西,有什么区别?其实这些概念基本都一个意思,就一些小细节会有不同。有笔者说:合成特征 (synthetic feature)和特征组合(Feature Crosses)不太一样,特征交叉是特征组合的一个子集。

我们简单讲3个概念:

1.特征扩展

基于一个特征,使用特征值打平(扩展)的方式衍生多个标注类型的特征,也可以理解为离散化。对于分类变量,直接one-hot编码;对于数值型特征,离散化到几个固定的区间段,然后用one-hot编码。比如信贷场景逾期天数:

这里可以起到两个作用:①把线性函数转换成分段阶跃函数,减少过拟合。 ②标注 ,方便后续特征交叉组合

2.特征组合

指将两个或多个输入特征通过数学运算进行组合。分为如下几种情况: - 数值运算 - 如对特征进行加,减,乘,除 - 特征交叉 - 对多个特征进行交叉组合,或做交,并,补,笛卡尔集等运算。(可参考后面案例) - 暴力交叉,暴力交叉可能产生稀疏问题。

在实践中,扩展线性模型时辅以特征组合一直都是训练大规模数据集的有效方法,机器学习模型很少会组合连续特征。不过,机器学习模型却经常组合独热特征矢量,将独热特征矢量的特征组合视为逻辑连接。

3.合成特征

合成特征的思想很简单,通过将单独的特征进行组合(相乘或求笛卡尔积)而形成的合成特征。是一种让线性模型学习到非线性特征的方式:包括以下类型:

将一个特征与其本身或其他特征相乘(称为特征组合)。比如属性A有三个特征,属性B有两个特征,笛卡尔积后就有六个组合特征。
两个特征相除。
对连续特征进行分桶,以分为多个区间分箱。
说明: 通过标准化或缩放单独创建的特征不属于合成特征。

说明: 合成特征与组合特征关系在于:特征组合广义上包含合成特征,合成特征则改变了特征的线性关系,属于无中生有。

自动衍生

包括自动衍生和深度衍生的方法,可以缩减时间成本,构建维度更广更全面的新生特征。具体可以参考:Featuretools

你可能感兴趣的:(笔记)