特征选择

1. 线性回归中的特征选择:Lasso、Rdige回归

对线性回归进行正则化,即在线性回归的基本公式后面加上对于线性回归系数的惩戒因子。

这个意义就是不放任每个特征值参与线性回归的模型计算,即防止过拟合。是一个tradeoff的过程。

按范数1、2型,分为了Lasso和Ridge。

如使用Lasso进行特征值选择,则需要找到适合的Lambda值。

在python中一般先拟定lambda的值,然后用数据集通过k-fold交叉验证进行确定。

然后依据图中反映的Lasso,可以在最优的Lambda值的位置可以将特征划分为系数0和系数不为0的两个特征集,从而筛选出主要特征。

 

2. random forest的特征选择

首先要知道RF的模型的基本原理。

RF模型的基本原理是,在bagging(bootstrap aggregation)的原理上。

一、用重抽样方法(bootstrap)选出多组样本;

二、随机选择一个特征集合的子集,各自生成归类树,找出每一组重抽样样本中,最合适的生成方法;

三、将每组样本中的划分方法用到原数据集中,找出不纯度,即误差最小的划分方法。

可以看出RF自带选择特征集合的子集的功能。

因此在python中,可以从fit到的RF模型中,通过feature_improtances_导出按特征的重要程度排列的特征集合。

由此可以选择排名靠前的特征,从而实现特征选择。

 

3. RFE(Recursive feature elimination),递归特征消除

顾名思义,用选定的模型去fit数据集。

RFE的原理是通过每次淘汰最重要的特征,在此递归,然后再剔除次之重要的特征,如此反复得到特征按重要程度排列的list。

而鉴别特征是否重要,我个人理解:

对于线性回归,观察p值,看p值最小,即最不可能为0的特征,也就是最有关联的特征值;

对于Ramdom forest,则像上文阐述过的那样,应该是通过特征在各子集中出现的count,来判定重要程度。etc

 

4. F_regression

(一句话就能讲清楚: 每个特征 X 单独拎出来和 Y 计算相关系数, 并排序. 特征选择就是基于 X 和 Y 的相关程度.

当然实际操作还是分了三步:

计算相关系数;

转化为 F score;

计算 p 值;

最后排名是根据 F score, 可以选择输出 p 值.)——转自https://www.h3399.cn/201808/609067.html

 

5. VarianceThreshold

通过特征的方差来提取特征,为小于设定阈值的特征被剔除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值