特征衍生
特征衍生是现有的特征进行某种组合,生成新的具有含义的特征。一般情况下,对于给的数据中,缺少必要的条件,我们需要将已知的特征进行组合,然后得到新的特征,这样能够让我们对数据的认识更加清晰。
查看怎么样才能使用到我们的任务中
特征选择
对于总体的特征选择来说,主要可以划分为三种选择方法
- 过滤法:按照发散性或者相关性对各个特征进行评分,设定阈值,选择特征。
常见的过滤方式包括方差分析、相关系数、假设检验、互信息等
2. 包装法:根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
3. 嵌入法:先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。
1.IV值进行特征选择
1.1 基本介绍
在二分类问题中,IV值(Information Value)主要用来对输入变量进行编码和预测能力评估。
IV 值的取值范围是[0, ),其大小表示该变量预测能力的强弱。通常认为:
IV值 预测能力
<0.02 无用特征
0.02-0.1 弱预测
0.1-0.3 中等预测
0.3-0.5 强预测
0.5 可疑特征
一般选择中等和强预测能力的变量用于模型开发。
1.2 计算公式
1)WOE
WOE(weight of evidence,证据权重),是对原始变量的一种编码形式。
对一个变量进行WOE编码,首先要把变量进行分组处理(分箱或离散化)。常用离散化的方法有等宽分组,等高分组,或利用决策树来分组。
分组后,对于第 i 组,WOE的计算公式见下式:
它衡量了"当前分组中响应用户/所有响应用户"和"当前分组中未响应用户/所有未响应用户"的差异。
2)IV值
IV值的计算以WOE为基础,相当于是WOE值的一个加权求和。
假设变量分了n个组。对第i组,计算公式如下:
计算了变量各个组的 IV 值之后,我们就可以计算整个变量的 IV 值:
IV值主要用于特征选择,如果想对变量的预测能力进行排序,可以按 IV 值从高到低筛选。
IV在WOE前多乘了一个因子:
1)保证了IV的值不是负数;
2)很好的考虑了分组中样本占整体的比例(比例越低,这个分组对变量整体预测能力的贡献越低)。
2.随机森林进行特征选择
随机森林提供了两种特征选择的方法:mean decrease impurity和mean decrease accuracy。
2.1 平均不纯度减少(mean decrease impurity)
利用不纯度可以确定节点(最优条件). 对于分类问题,常采用基尼不纯度/信息增益;对于回归问题,常采用方差/最小二乘拟合。
训练决策树时,可以计算每个特征减少了多少树的不纯度。对于一个决策树森林来说,可以算出每个特征平均减少了多少不纯度,并把它平均减少的不纯度作为特征选择的值。
【缺点】
1)该方法存在偏向, 对具有更多类别的变量更有利(也是信息增益的缺点);
2)label存在多个关联特征(任意一个都可以作为优秀特征), 则一旦某个特征被选择, 其他特征的重要性会急剧降低。这会造成误解:错误的认为先被选中的特征是很重要的,而其余的特征是不重要的。
2.2 平均精确率减少(Mean decrease accuracy)
直接度量每个特征对模型精确率的影响。
打乱每个特征的特征值顺序,并且度量顺序变动对模型的精确率的影响。
对于不重要的变量来说,打乱顺序对模型的精确率影响不会太大,但是对于重要的变量来说,打乱顺序就会降低模型的精确率。
遇到的问题
1)求IV值遇到极端值时怎么处理?
将WOE标记为0/无穷或平滑处理,对IV值有较大大影响。已经无法从0.2—0.5的取值来删除特征了(除了可疑预测,其余都在0.2—0.5之间)。
2)虽然已经求得IV值或feature_importance,但不知道是不是取值不合常规就一定要删除该特征。
代码参见我的github