特征选择-包裹式选择

包裹式选择与过滤式选择不考虑后续学习器不同,直接把最终使用的学习器的性能作为特征子集的评价准则。换言之,包裹式选择的目的就是为给定学习器选择最有利于其性能、“量身定做”的特征子集。

【与过滤式选择的区别】:

  • 包裹式选择方法直接针对给定学习器进行优化,因此,从最终学习器性能来看,包裹式选择比过滤式选择更好;
  • 但另一方面,由于在特征选择过程中需多次训练学习器,因此包裹式选择的计算开销通常比过滤式选择大得多。

特征选择-包裹式选择思维导图.png

递归特征消除

递归特征消除(Recursive Feature Elimination)使用一个基模型(学习器)来进行多轮训练,每轮训练后移除若干特征,再基于新的特征集进行下一轮训练。

【sklearn 官方解释】:对特征含有权重的预测模型,RFE 通过递归减少待考察特征集规模来选择特征。

  1. 首先,预测模型在原始特征集上进行训练,通过 coef_ 属性或 feature_importances_ 属性为每个特征指定一个权重;
  2. 然后,剔除那些权重绝对值较小的特征;
  3. 如此循环,直到剩余的特征数量达到所需的特征数量。

需要注意的是,RFE 的稳定性很大程度上取决于迭代时,底层使用的预测模型。如果 RFE 采用的是普通的逻辑回归,没有经过正则化的回归是不稳定的,因此 RFE 也不稳定。若采用的是脊回归 Ridge 或 Lasso,则 RFE 稳定。

关于 RFE 的具体介绍可参考 sklearn 的 RFE 传送门

【代码实现】:回归问题

from sklearn.feature_selection import RFE
from sklearn.linear_model import Lasso


# 引入数据集
dataset_boston = load_boston()
data_boston = dataset_boston.data
target_boston = dataset_boston.target

rfe = RFE(estimator=Lasso(), n_features_to_select=4)
rfe.fit(data_boston, target_boston)
print(rfe.support_)
# 输出
array([
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值