首页 > 编程知识 正文

特征选择实现,什么是特征选择

时间:2023-05-06 21:00:43 阅读:193797 作者:1799

1.SelectKBest可以依据相关性对特征进行选择,保留k个评分最高的特征。

①方差分析

分类问题使用f_classif,回归问题使用f_regression。

f_classif:分类任务

跟目标的分类,将样本划分成n个子集,S1,S2,..,Sn,我们希望每个子集的均值μ1,μ2,...,μn不相等。

我们假设H0:μ1=μ2=...=μn,当然我们希望拒绝H0,所以我们希望构造出来f最大越好。所以我们可以通过第i个特征xi对分类进行预测。f值越大,预测值越好。

f_regression:回归任务

引用参考:https://blog.csdn.net/jetFlow/article/details/78884619

要计算f_regression中的ff值,我们首先要计算的是,这个就是i号特征和因变量y之间的样本相关系数。

我们计算的 ,才是f_regression中的ff值,服从F(1,n−2)F(1,n−2)分布。

ff值越大,i号特征和因变量y之间的相关性就越大,据此我们做特征选择。

from sklearn.feature_selection import SelectKBestfrom sklearn.feature_selection import f_classiffrom sklearn.datasets import load_iris# 特征选择data = load_iris()slectKBest = SelectKBest(f_classif,k=2)dataK = slectKBest.fit_transform(data.data,data.target)

②χ²检验

卡方检验用于分类问题

③互信息

mutual_info_classif:分类问题

mutual_info_regression:回归问题

 

2.SelectPercentile 选择排名排在前n%的变量 

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。