SelectKBest的使用:进行特征寻优

官网链接

在这里插入图片描述
**

字段解释

score_func:对特征进行评价打分的函数。默认的函数只能进行分类任务;
k:选取的特征数量,默认为10,也可设置为all。
其中,score_func有以下字段可供选择:

函数含义
f_classif分类任务的标签/特征之间的方差分析 F 值
mutual_info_classif离散目标的互信息
chi2分类任务的非负特征的卡方统计
f_regression回归任务的标签/特征之间的 F 值
mutual_info_regression连续目标的互信息
SelectPercentile根据最高分的百分位数选择特征
SelectFpr根据误报率测试选择特征
SelectFdr根据估计的错误发现率选择特征
SelectFdr根据家族错误率选择特征
GenericUnivariateSelect具有可配置模式的单变量特征选择器(通用单变量选择)

需要特别注意的是,此处例如mutual_info_regression 的使用需要单独调取

from sklearn.feature_selection import mutual_info_regression
test = SelectKBest(score_func = mutual_info_regression, k= 4)

使用示例

from sklearn.datasets import load_digits
from sklearn.feature_selection import SelectKBest, chi2
X, y = load_digits(return_X_y=True)
# 使用chi2指标筛选贡献度最大的前20个特征
X_new = SelectKBest(chi2, k=20).fit_transform(X, y)
#也可以拆开使用
fit = SelectKBest(chi2, k=20).fit(X, y)
features = fit.transform(X)

对于计算结果

test = SelectKBest(score_func = mutual_info_regression, k= 4)
# 输出选择的特征名
test.get_feature_names_out()
#  获取估算器参数
test.get_params(deep=True)
skb = SelectKBest(score_func = mutual_info_regression, k= 4)
skb = skb.fit(X, y)
# 得到选择的特征
skb.get_feature_names_out()
#调用属性scores_,获得得分
skb.scores_
#调用属性pvalues_ ,获得p值
skb.pvalues_   
#返回特征过滤后保留下的特征列索引
skb.get_support(indices=True) # 转换数据,得到特征过滤后保留下的特征数据集
x_new=skb.transform(x)
x_new

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值