特征筛选
# 特征筛选
# 1、作用
特征数过多一方面增加了模型的复杂度,另一方面特征多也引入了更多的噪声数据,使模型更容易学到噪声,增大了发生过拟合的风险。所以变量(特征)过多时,需要从原始特征中选择出一些最有效特征以降低数据维度,从而有效提高模型性能。
# 2、输入输出描述
输入:至少两项定量变量。
输出:在变量名后标明应保留还是应剔除。
# 3、案例示例
案例:现有八个变量,通过特征筛选选出较为有效的特征。
# 4、案例数据
特征筛选案例数据
# 5、案例操作
Step1:在“数据处理”模块新建处理;
Step2:上传文件;
Step3:选择对应数据打开后进行预览,确认无误后点击开始处理;
Step4:选择【特征筛选】;
Step5:查看对应的数据数据格式,【特征筛选】要求变量为定量变量,且至少有两项;
Step6:确认参数,有多种特征筛选方法可选择;
Step7:点击【开始处理】,完成全部操作。
# 6、输出结果分析
对于刚刚我们选中的8个变量,选用xgboost方法,即自变量和因变量建立一个XGBoost回归模型。由于我们自定义目标维度为5,(希望保留5个变量),经过特征筛选后,选取特征重要性较大的前5个变量进行保留,为应保留的的变量和应剔除的变量进行标记,其中,x1、x1、x3、x5、x8这五个变量应该保留,特征比较重要,而x4、x6、x7这三个变量相对来说不那么重要,可以剔除。
# 7、注意事项
- 特征筛选不支持对存在空值的变量进行处理,需要提前处理空值。
- 特征筛选功能仅支持在客户端进行使用。
# 8、模型理论
(1)方差选择法
计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征作为筛选出来的特征。这里是针对于各个变量独立地进行方差计算,然后按照方差大小对特征进行降序排列,保留前几个方差较大的变量。
(2)随机森林特征重要度
随机森林由多个决策树构成。决策树中的每一个节点都是关于某个特征的条件,为的是将数据集按照不同的响应变量一分为二。利用不纯度可以确定节点(最优条件),对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。当训练决策树的时候,可以计算出每个特征减少了多少树的不纯度。对于一个决策树森林来说,可以算出每个特征平均减少了多少不纯度,并把它平均减少的不纯度作为特征选择的值。这里相当于建立了一个随机森林模型,特征变量和因变量是共同参与模型训练的,然后按照特征重要性对特征(自变量)进行降序排列,保留前几个特征重要性较大的变量。
(3)XGBoost
XGBoost算法基于使用梯度提升算法,在提升树被创建后,可以相对直接地得到每个特征的重要性得分,特征重要性是通过对数据集中的每个特征进行计算,并进行排序得到。在单个决策书中通过每个特征分裂点改进性能度量的量来计算特征重要性,由节点负责加权和记录次数,即一个特征对分裂点改进性能度量越大(越靠近根节点),权值越大;被越多提升树所选择,特征越重要。这里相当于建立了一个xgboost模型,特征变量和因变量是共同参与模型训练的,然后按照特征重要性对特征(自变量)进行降序排列,保留前几个特征重要性较大的变量。
(4)相关系数法
相关系数法通过Pearson系数作为特征评分标准,相关系数绝对值越大,相关性越强。这里对每一个自变量和因变量进行Pearson相关性分析,然后按照Pearson系数对特征(自变量)进行降序排列,保留前几个相关系数较大的变量。
(5)互信息法
互信息(mutual information)是用来评价一个事件的出现对于另一个事件的出现所贡献的信息量,实际做单特征选择的时候,互信息通常把某个特征是否出现和分类是否正确这两个事件放在一起计算。把得分较高的特征进行保留。
(6)卡方检验法
卡方值越大,说明对原假设的偏离越大,为每个特征计算它与实际类别的卡方值,从大到小排序,取前k个特征。
(7)VIF法
方差膨胀系数(variance inflation factor,VIF)是衡量多元线性回归模型中复 (多重)共线性严重程度的一种度量。它表示回归系数估计量的方差与假设自变量间不线性相关时方差相比的比值。一般大于10则代表具有多重共线性。这里相当于对自变量和因变量建立回归分析,然后按照各个自变量的VIF值对特征(变量)进行升序,保留前几个VIF较小的值。
(8)递归消除特征法
递归特征消除的主要思想是反复的构建模型(如随机森林或者回归模型)然后选出最好的(或者最差的)的特征(可以根据系数来选),把选出来的特征放到一遍,然后在剩余的特征上重复这个过程,直到所有特征都遍历了。这个过程中特征被消除的次序就是特征的排序。因此,这是一种寻找最优特征子集的贪心算法。
# 9、参考文献
[1] Scientific Platform Serving for Statistics Professional 2021. SPSSPRO. (Version 1.0.11)[Online Application Software]. Retrieved from https://www.spsspro.com.