特征工程是将原始数据,通过业务逻辑理解、数据变换、特征交叉与组合等方式,量化成模型训练和预测可直接使用的特征的过程。其中主要包括了数据认知,数据清洗,特征构建,特征选择四个部分。
数据认知:基于实际业务场景理解数据内容,发现数据与研究问题的关系。
数据清洗:对数据进行规整,移除重复变量、处理缺失、异常数据等。
特征构建:通过业务理解和技术实施,构造出描述研究问题的特征。
特征选择:在构造的特征中筛选出最能刻画研究问题的特征。
数据认知
根据业务需求,确定数据提取范围,包括数据内容、数据时间范围。
数据清洗
观察提取出的数据,进行异常数据、缺省数据、重复数据等的处理。
特征构建
特征构建是指从原始数据中人工的找出一些具有物理意义的特征,将原始数据属性转换为数据特征。以便更好地找到数据的潜在趋势,减少噪声干扰,便于后续建模。常用的特征构建方法如下:
1、业务特征
业务特征来源于实际业务场景中的数据,通过这些数据往往可以构造出大量的反应业务特点的特征。比如客户的年龄、性别、婚姻状态、居住状态等基本信息。
2、RFMP分析
RFMP分析就是根据客户活跃程度和交易金额的贡献,进行客户价值细分的一种方法。RFMP 含义如下:
R(Recency):客户最近一次交易时间的间隔。R值越大,表示客户交易发生的日期越久,反之则表示客户交易发生的日期越近。
F(Frequency):客户在最近一段时间内交易的次数。F值越大,表示客户交易越频繁,反之则表示客户交易不够活跃。
M(Monetary):客户在最近一段时间内交易的金额。M值越大,表示客户价值越高,反之则表示客户价值越低。
P(Percentage):客户在最近一段时间内交易频次或者金额的占比。P值越大,表示客户价值越高,反之则表示客户价值越低。
特征选择
为了得到更好的模型,使用某些算法自动的筛选出原始特征的子集。特征选择不会构建或修改已有的特征,但是会通过修剪特征来进一步减少噪声和冗余。常用的特征选择方法有:
1、Filter方法
对每一维的特征“打分”,即给每一维的特征赋予权重,这样的权重就代表着该维特征的重要性,然后依据权重排序。
主要的方法有:Chi-squared test(卡方检验),ID3(信息增益) ,correlation coefficient scores(相关系数)
2、Wrapper方法:
根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
主要方法有:recursive feature elimination algorithm(递归特征消除算法)
3、Embedded方法
先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。
主要方法:基于惩罚项的特征选择法、基于树模型的特征选择法
输入:待处理的特征变量
输出:特征变量IV值、WOE编码、挑选后的特征变量
当上述过程完成后,可能还会存在特征矩阵过大,导致计算量大、训练时间长的问题,因此可进一步对特征进行降维处理。常用的降维方法主要包括PCA(主成分分析法)和LDA(线性判别分析法)等。