特征选取

  • 当某个特征只有很少类型的取值,而且99%都是其中一类的取值时,这种特征可以删除
  • 不是所有的特征都能提供足够的信息的,甚至有些特征会对我们的模型训练产生障碍,因此在模型训练开始前我们要对特征做出一定的选择。

接下来我们使用SelectKBest方法结合F检验来筛选回归模型的特征。

from sklearn.feature_selection import SelectKBest, f_regression
from sklearn.datasets import load_boston

boston = load_boston()
print('Boston data shape: ', boston.data.shape)

selector = SelectKBest(f_regression)
X_new = selector.fit_transform(boston.data, boston.target)
print('Filtered Boston data shape:', X_new.shape)

print('F-Scores:', selector.scores_)
Boston data shape:  (506, 13)
Filtered Boston data shape: (506, 10)
F-Scores: [ 88.15124178  75.2576423  153.95488314  15.97151242 112.59148028
 471.84673988  83.47745922  33.57957033  85.91427767 141.76135658
 175.10554288  63.05422911 601.61787111]

然后我们使用SelectPercentile结合卡方检验来筛选分类模型的特征。

from sklearn.feature_selection import SelectPercentile, chi2
from sklearn.datasets import load_iris

iris = load_iris()
print('Boston data shape: ', iris.data.shape)

selector = SelectPercentile(chi2, percentile=15)
X_new = selector.fit_transform(iris.data, iris.target)
print('Filtered Boston data shape:', X_new.shape)

print('F-Scores:', selector.scores_)
Boston data shape:  (150, 4)
Filtered Boston data shape: (150, 1)
F-Scores: [ 10.81782088   3.59449902 116.16984746  67.24482759]

  • 特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
  • 特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值