Born to be proud
5/10
2018

特征工程

根据特征来源分类

  • 场景: 当时场景,如何时何地,使用何种设备,使用什么浏览器等
  • 广告: 包括广告主特征,广告自身的特征如campaign、创意、类型,是否重定向等
  • 媒体: 包括媒体(网页、app等)的特征、广告位的特征等
  • 用户: 包括用户画像,用户浏览历史等

根据特征取值分类

连续(continuous)特征

连续特征 除了归一化(去中心,方差归一),不用做太多特殊处理,可以直接把连续特征扔到模型里使用。

无序类别(categorical)特征

无序特征 可以使用One-hot(也叫One-of-k)的方法把每个无序特征转化为一个数值向量。比如一个无序特征color有三种取值:redgreenblue。那么可以用一个长度为3的向量来表示它,向量中的各个值分别对应于redgreenblue。如:

color取值        向量表示
red            (1, 0, 0)
green        (0, 1, 0)
blue        (0, 0, 1)

有序类别(ordinal)特征

有序特征 有些特征虽然也像无序特征那样只取限定的几个值,但是这些值之间有顺序的含义。例如一个人的状态status有三种取值:bad, normal, good,显然bad < normal < good

status取值    向量表示
bad            (1, 0, 0)
normal        (1, 1, 0)
good        (1, 1, 1)

特征工程

原因

以线性分类器Linear Regression (LinearReg)为例,它是通过特征的线性加权来预测因变量。但大部分实际情况下,实际环境下都不会是这么简单的线性关系,甚至连单调关系都不会有。那么直接把特征扔进LinearReg模型是怎么也得不到好结果的。很多人会想着既然线性分类器搞不定,那就直接找个非线性的好了,比如高斯核的SVM。我们确实可以通过这种简单换算法的方式解决这个简单的问题。但非线性模型的时间复杂度较高,对于大规模实时应用,预测时间是不可忍受的。

离散化

  • 等距离
  • 等样本
  • 画图观察
  • 树模型离散

交叉(笛卡尔积)

后验特征

单特征选择方法

  • 简单统计方法,统计特征取值的覆盖面和平衡度,对dominant取值现象很显著的特征,要选择性地舍弃该特征或者是归并某些取值集到一个新的值,从而达到平衡的目的。
  • 特征选择指标,特征选择主要有两个目的,一是去除冗余的特征,也就是特征之间可能是互相冗余的;二是去无用,有些特征对CTR预估这个任务贡献度很小或没有,对于这类特征选择,要小小地做,宁不足而不过分,因为单特征对任务贡献度小,很有可能后面再组合特征生成时与其他特征组合生成很有效的组合特征,所以做得不能太过。
    • 去冗余。主要是特征间的相关性,如Pearson相关性,或者指数回归(从泰勒定理的角度它可以模拟高阶的多项式特征)。
    • 去无用。主要是信息增益比。

Reference

http://breezedeus.github.io/2014/11/15/breezedeus-feature-processing.html