scikit-learn(工程中用的相对较多的模型介绍):1.13. Feature selection

本文介绍了scikit-learn库中的特征选择技术,包括:基于方差的筛选、单变量特征选择、递归特征消除、L1正则化特征选择、基于树的特征选择,以及将特征选择融入管道流程。特别提到了各种方法的适用场景和注意事项,如使用SelectKBest、RFECV、L1正则化和基于树的特征重要性计算。
摘要由CSDN通过智能技术生成

参考:http://scikit-learn.org/stable/modules/feature_selection.html


The classes in the sklearn.feature_selection module can be used for feature selection/dimensionality reduction on sample sets, either to improve estimators’ accuracy scores or to boost their performance on very high-dimensional datasets.



1、removing features with low variance

VarianceThreshold 是特征选择的简单baseline方法,他删除方差达不到阈值的特征。默认情况下,删除all zero-variance features, i.e. features that have the same value in all samples.

假设我们想要删除  超过80%的样本数都是0或都是1(假设是boolean features)  的所有特征,由于boolean features是bernoulli随机变量,所以方差为Var[X] = p(1-p),所以我们可以使用阈值0.8*(1-0.8):

>>> from sklearn.feature_selection import VarianceThreshold
>>> X = [[0, 0, 1], [0, 1, 0], [1, 0, 0], [0, 1, 1], [0, 1, 0], [0, 1, 1]]
>>> sel = VarianceThreshold(threshold=(.8 * (1 - .8)))
>>> sel.fit_transform(X)
array([[0, 1],
       [1, 0],
       [0, 0],
       [1, 1],
       [1, 0],
       [1, 1]])
删除了第一列,因为p=5/6 > 0.8。



2、Univariate feature selection(单变量特征选择)(我用这个非常多)

Univariate feature selection基于univariate statistical tests(单变量统计检验),分为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值