首页 > 技术文章 > 特征选择

xyzluck 2019-11-22 10:03 原文

方法1:方差选择法

主要针对每个列进行计算,方差非常小的特征维度对于样本的区分作用很小,可以剔除掉。

例如:假设数据集为布尔型特征,想要去掉那些超过80%情况下为1或者为0的特征。由于布尔特征是伯努利随机变量,其方差可以计算为 Var[x] = p*(1-p),因此阈值为0.8*(1-0.8)=0.16

X= [[0,0,1],

       [0,1,0],

       [1,0,0],

  [0,1,1],

  [0,1,0],

  [0,1,1],

        ]

第一列的方差计算为 0.14 < 0.16,因此第一个特征可以被过滤掉。

方法2:皮尔森相关系数法

皮尔森相关系数(Pearson correlation coefficient)显示两个随机变量之间线性关系的强度和方向,计算公式为:

 

 

 其中分子是X和Y之间的协方差,分母分别是X和Y的均方差。

计算完毕后,可以将与目标值相关性较小的特征过滤掉。

注:皮尔森相关系数对线性关系比较敏感,如果关系式非线性的,即便两个变量具有一一对应的关系,Pearson相关性也可能会接近0。

方法3:基于森林的特征选择法

其原理是某些分类器,自身提供了特征的重要性分值,因此可以直接调用这些分类器,得到特征重要性分值,并排序。

例如下图的例子中,前三个特征比较重要,其他特征分值较低。

 

 

 方法4:递归特征消除法

递归特征消除的基本步骤(以sklearn中的函数为例):

(1)首先在初始特征或者权重特征集合上训练,通过学习器返回的coef_属性或者feature_importances_属性来获得每个特征的重要程度。

(2)然后最小权重的特征被移除。

(3)这个过程递归进行,知道满足希望的特征数目。

 

推荐阅读