特征工程——特征选择(Feature Selection),特征关联

特征选择是特征工程的重要环节,旨在寻找最优特征子集以减少冗余和提高模型精度。基本流程包括生成子集、评价函数、停止准则和验证。常用方法有Filter、Wrapper和Embedded。sklearn提供了诸如方差选择法、递归特征消除等工具。特征关联分析通过相关矩阵和相关系数(如Pearson、Kendall、Spearman)揭示特征间的关系,有助于发现重要特征并避免冗余。
摘要由CSDN通过智能技术生成

特征选择

特征选择是特征工程里的一个重要问题,其目标是寻找最优特征子集。特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目的。另一方面,选取出真正相关的特征简化模型,协助理解数据产生的过程。
在这里插入图片描述

基本流程

特征选择的一般过程:

  1. 生成子集:搜索特征子集,为评价函数提供特征子集
  2. 评价函数:评价特征子集的好坏
  3. 停止准则:与评价函数相关,一般是阈值,评价函数达到一定标准后就可停止搜索
  4. 验证过程:在验证数据集上验证选出来的特征子集的有效性

在这里插入图片描述

由于子集搜索是一个比较费时的步骤,因此下面 给出了另一种特征选择框架, 避免了子集搜索, 可以高效快速地寻找最优子集.
在这里插入图片描述

常用方法分类

  1. Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
  •   (去掉取值变化小的特征 Removing features with low variance)
    
  •   (单变量特征选择 Univariate feature selection)
    
  1. Wrapper:封装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。Wrapper这里指不断地使用不同的特征组合来测试学习算法进行特征选择。
  •   	递归特征消除 (Recursive Feature Elimination)
    
  1. Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小排序选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。
  •   使用SelectFromModel选择特征 (Feature selection using SelectFromModel)
    
  •   将特征选择过程融入pipeline (Feature selection as part of a pipeline)
    

sklean的例子

https://scikit-learn.org/stable/modules/feature_selection.html#feature-selection

去掉取值变化小的特征 Removing features with low variance

方差选择法
方差保持是特征选择的简单基线方法。它删除方差不符合某些阈值的所有要素。默认情况下,它删除所有零方差要素,即在所有样本中具有相同的值的要素。

例如,假设我们有一个包含布尔要素的数据集,并且我们希望删除超过 80% 的示例中的 1 或 0(开或 关)的所有要素。布尔要素是伯努利随机变量,这些变量的方差由下式给出:
V a r [ X ] = p ( 1 − p ) Var[X]=p(1-p) Var[X]=p(1p)

因此,我们可以选择使用阈值:.8 * (1 - .8)

>>> from sklearn.feature_selection import VarianceThreshold
>>> X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1
  • 2
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值