本篇主要介绍特征工程过程,包括特征变量衍生、特征变量分析和处理等。特征工程在数据挖掘建模过程中时间占比通常达到70%~80%,甚至更高。有一句话说的挺好,数据和特征决定了机器学习的上限,模型和参数决定了逼近这个上限的程度。做好特征工程是非常基础和重要的工作,很大程度决定了最终模型的效果。
1.变量设计和衍生
特征工程的难点在于需要结合对业务的理解,设计能够表征数据特点的新特征变量,即从原始数据(rawdata)提取加工出有用的特征变量(feature)。
(1)以常见的交易流水数据为例,通常会结合时间进行变量衍生。比如电商购物交易流水,客户如果经常网上购物,名下会有很多条交易支付记录,需要对数据清洗合并。以最近7天,最近30天,最近60天,最近半年,最近1年等,计算期间内发生的交易金额。在信用风险评分模型中, 一般以3+,30+,60+,90+,180+等时间长度来衍生变量,具体设计时结合业务场景考虑;
(2)金额的衍生,通常以最大金额、最小金额、平均金额、总金额来扩展,然后加上期间内的交易总次数;
(3)除了时间+金额的衍生,还可以考虑交易的类别,有的客户会经常购买3C产品,有的客户则喜欢购买衣服鞋子。将相似的购物消费类别合并,可以进一步做业务分群,这里就不做展开了;
(4)进一步,电商购物需要填写收货地址,期间内收货地址变更的次数,收货地址所处的区域情况(是城中村还是高档小区等等)都可以衍生;
(5)本例数据集中, 已经提供了完整的特征变量
如果能获取明细数据,对于账单金额和还款金额变量,可以按照如上思路进一步做衍生。
总之,特征变量的设计和衍生,需要结合数据深入的理解业务。
2.变量分析
衍生完变量后,继续对特征变量做分析,需要做到对特征变量非常了解。
(1)变量分析
单变量分析存很多预测衡量指标,下表出自 《评分卡研究》:
a.皮尔森相关系数
皮尔森相关系数衡量的是线性关联性的程度
b.斯皮尔曼相关系数
斯皮尔曼相关系数计算时采用的是取值的等级,而不是取值本身。这样的好处,是可以避免皮尔逊相关系数对离群点和极端值导致的敏感性。
c.皮尔森卡方统计
其它基尼方差、信息值、熵方差等单变量预测力分析常见的指标,这里就不做详述。
性别的频数分布表
婚姻状态的频数分布表
这里使用IV信息值来评估单变量的预测力,信息值要达到多高才有效果,
可以参考下表
经过计算,发现education信息值还可以,另外两个变量的信息值都比较小。
3.变量处理
这个阶段主要是对变量做数据分箱和降基处理。分箱是评分卡开发的重要阶段,分箱后变量方可使用标准的评分卡格式。常见的分箱方法:等频分箱、等距分箱以及最优分箱。前面两种方法容易理解,这里介绍一下最优分箱的方法。
(1)连续型变量,过程类似决策树,先是等距将数据分成多个分箱,然后再结合基尼方差、熵、信息值等衡量指标,对型变量进行最优分箱;限于篇幅,最优分箱不做详细描述,建议详细了解一下决策树分裂过程。
如下是我阅读spark mllib决策树源码笔记,供参考:
(2)对于离散型变量,一种是手工合并分类,比如频次低的,或者业务含义类似的变量值;另外一种就是与连续型最优分箱类似,不同的地方是连续型变量需要先等距分箱一次。
由于特征变量的选择跟模型的开发往往结合在一起,下文再介绍特征选择、模型开发。
来源|互金风控联盟
作者| Patrick
领取专属 10元无门槛券
私享最新 技术干货