特征选择(过滤式、包裹式)

首先先说说特征选择。

特征选择包含三大类:过滤式、包裹式、嵌入式。

 

过滤式(filter)

它是先设计一个过滤方法进行特征选择,再去训练学习器。而这个过滤方式是设计一个“相关统计量”,去对特征进行计算,最后设定一个阈值去进行选择。

 

相关统计量计算:

对于每个样本xi,他都会做以下事情。

找出同类中,最邻近的样本x1;在异类中,找出最邻近的x2。

如果xi与x1更近,说明特征是对同类异类有益的,会增大相对应的统计量;反之,如果xi与x2更近,说明特征起到副作用,会减少相对应的统计量。(当然有时候也不需要把整个训练集全用上,可以用采样的办法进行计算)

 

方差选择法:

from sklearn.feature_selection import VarianceThreshold

vt = VarianceThreshold(threshold = 1)

vt = vt.fit_transform(data)

 

卡方检验法(相关性)

 

from sklearn.feature_selection import SelectKBest

from sklearn.feature_selection import chi2        

 

skb = SelectKBest(chi2,k=2)

new_data = skb.fit_transform(data,target)

 

皮尔森相关系数法法(相关性)(回归问题

 

from sklearn.feature_selection import SelectKBest  # 移除topK外的特征from scipy.stats import pearsonr                   # 计算皮尔森相关系数

'''

# 函数返回值:保留topk特征,移除topk外特征

# 第一个参数:皮尔森相关系数(输入特征矩阵和目标向量,输出二元组(评分,P),二数组第i项为第i个特征的评分和p值

# 第二个参数:topK个数

'''

skb = SelectKBest(lambda X, Y: tuple(map(tuple,array(list(map(lambda x:pearsonr(x, Y), X.T))).T)), k=3)

skb = skb.fit_transform(data, target)

 

 

包裹式选择(wrapper)

它与过滤式不同,它会考虑后续的学习器。它会把学习器的性能作为评价准则。

 

1.LVW

第一步:随机选出特征集;

第二步:计算相关误差,如果误差比原本的小,或者误差相当但是特征数比之前的少,则把子集留下。

 

2.RFE

第一步:对初始特征进行训练,得到权重

第二步:提出权重最小的特征,构成新的集合

第三步:不断重复,知道满足停止条件为止。

 

Class sklearn.feature_selection.RFE(estimator,n_features_to_select=None,step=1,estimator_params=None,verbose=0)

参数:

estimator:一个学习器(通常使用SVM和广义线性模型作为estimator)

n_features_to_select:指定要选出几个特征

step:指定每次迭代要剔除权重最小的几个特征

大于等于1:指定每次迭代要剔除权重最小的特征的数量

在0.0~1.0:指定每次迭代要剔除权重最小的特征的比例

estimator_params:一个字典,用于设定estimator的参数

sklearn还提供了RFECV类,它是RFE的一个变体,它执行一个交叉验证来寻找最优的剩余特征数量,因此不需要指定保留多少个特征。原型为

class sklearn.feature_selection.RFECV(estimator,step=1,cv=None,scoring=None,estimator_params=None,verbose=0)

 

 

嵌入式、ridge regression、lasso 在下一个总结。

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值