特征选择总结

特征属性过多,容易造成维度灾难。选取对学习有用的特征会给模型效果带来提升。

特征选择需要考虑确保重要特征不丢失。去除无关特征和冗余特征(即特征之间存在强相关)。

  • 过滤式选择(Filter)

1. 方差选择法

计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。

2. 单变量特征选择法 (Univariate feature selection)

对于分类问题(y离散),可采用:
卡方检验

经典的卡方检验是检验定性自变量对定性因变量的相关性。假设自变量有N种取值,因变量有M种取值,考虑自变量等于i且因变量等于j的样本频数的观察值与期望的差距,构建统计量:

互信息

经典的互信息也是评价定性自变量对定性因变量的相关性的,互信息计算公式如下:


对于回归问题(y连续),可采用:
皮尔森相关系数

from scipy.stats import pearsonr

最大信息系数(MIC)

互信息直接用于特征选择其实不是太方便:它不属于度量方式,也没有办法归一化,在不同数据及上的结果无法做比较;对于连续变量的计算不是很方便(X和Y都是集合,x,y都是离散的取值),通常变量需要先离散化,而互信息的结果对离散化的方式很敏感。最大信息系数克服了这两个问题。它首先寻找一种最优的离散化方式,然后把互信息取值转换成一种度量方式,取值区间在[0,1]

  • 包裹式选择(Wrapper)

包裹式特征选择直接把最终将要使用的学习器性能作为特征子集的评价指标,它是为学习器选择更优性能量身定制的,其性能比过滤式好。但是时间复杂度更高。

递归特征消除法

递归消除特征法使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练。

from sklearn.feature_selection import RFE
  • 嵌入式选择( Embedded)

1. 基于惩罚项的特征选择法

带L1正则的回归模型,起到特征选择的作用。因为参数曲线为方形,和Loss等高线相交更容易在坐标轴上发生。

2. 基于树的特征选择 (Tree-based feature selection)

树模型中GBDT也可用来作为基模型进行特征选择,使用feature_selection库的SelectFromModel类结合GBDT模型,来选择特征

SelectFromModel(GradientBoostingClassifier()).fit_transform(iris.data, iris.target)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Python中,可以使用不同的方进行特征选择,其中之一是filter特征选择。这种方通过计算每个特征与目标变量之间的相关性来评估特征的重要性。在这个过程中,可以使用皮尔逊相关系数来度量两个变量之间的线性相关性。\[1\] 在使用filter特征选择时,可以使用scikit-learn库中的SelectPercentile函数。该函数可以根据特征与目标变量之间的相关性选择指定百分比的特征。具体来说,可以使用SelectPercentile函数的percentile参数来指定要选择的特征的百分比。\[2\] 另外,还可以使用递归特征消除(Recursive Feature Elimination,RFE)来进行特征选择。这种方通过反复构建模型并选择最好或最差的特征来进行特征消除。在这个过程中,特征被消除的次序就是特征的排序。可以使用scikit-learn库中的RFE函数来实现递归特征消除。\[3\] 总结起来,filter特征选择是一种通过计算特征与目标变量之间的相关性来评估特征重要性的方。在Python中,可以使用scikit-learn库中的SelectPercentile函数和RFE函数来实现filter特征选择。 #### 引用[.reference_title] - *1* *3* [机器学习--特征选择(Python代码实现)](https://blog.csdn.net/github_38980969/article/details/82252412)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [基于Filter的特征选择的python实现](https://blog.csdn.net/weixin_38314865/article/details/108691090)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值