数据和特征决定了机器学习的上限,而模型和算法只是进一步接近这个上限而已。由此可见特征工程在建模中的重要性。在传统评分卡模型的建模过程中,会经过一系列非常严格的数据预处理和特征工程,从众多特征中,选择少于20个特征参与建模,以保证模型性能。接下来我们从数据层和算法层两方面介绍如何衍生变量。
一 数据层特征工程
-
变量编码
-
连续变量分箱
-
函数变换
如对数变换,日期类型转化为天数,变量归一化,标准化等 -
多项式升维
-
核函数映射
-
时间切片
如计算日期类型变量的1,3,6个月内的特征变化情况,可以是均值,方差,求和等。 -
笛卡尔积特征
二 算法层特征工程
1. 基于树模型的特征生成
其中树模型可以是普通的决策树,集成学习中的Random Forest模型, GBDT模型, Xgboost模型等。
2. FM特征交叉
FM(Factorization Machine)特征交叉是二阶多项式模型的改进版,同时也是线性回归模型的一种扩展,增加了二阶交叉项,用隐向量的形式近似计算交叉项权重。
优点:
i)训练的交叉参数从d(d-1)/2降至dk个,提高了模型效率,也降低了少量样本的模型交叉项学习不充分的影响;
ii)交叉项的参数将分别通过对应两个特征的隐向量的内积得到,一些在新数据中出现的交叉项特征也能进行预测,提升了模型预测能力。
FM模型的改进版是FFM模型(Field-aware Factorization Machine)。对不同类型的变量所属的域进行了区分。
3.神经网络特征工程
神经网络能自动衍生出大量特征。
FM模型和神经网络结合衍生特征的方法:
并行结合:Wide&Deep,DeepFM等
串行结合:DeepCross,xDeepFM,PNN,NFM,AFM等。