栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

特征选择方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

特征选择方法

p(1−p)

阈值很小 被过滤的特征数较少阈值较大 被过滤的特征数较多模型表现不会有太大影响可能变好 代表被滤掉的特征大部分是噪音 可能变坏 代表被滤掉的有一些有用信息运行时间可能降低模型运行时间一定能够降低模型运行时间 卡方过滤

卡方过滤针对特征和离散型数据 分类 之间的相关性进行过滤 卡方统计原假设两数据之间独立不具有相关性 其要求特征非负。

在SKlearn中 卡方过滤类为ch2

from sklearn.feature_selection import Ch2
from sklearn.feature_selection import SelectKBest
from sklearn.model_selection import cross_val_score
x_fschi selectKBest(ch2,k 300).fit_transform(x)//k为特征选择后个数
crosss_val_score(RFC(n_estimators 10,random_state 0),x_fschi,y,cv 5).mean()

在经过卡方检验选择后 模型的性能可能会提升 说明检验滤除了特征噪音 也有可能降低 说明滤除了有用特征。此时可以利用学习曲线来确定特征个数K。

通过学习曲线寻找最佳K值

score [ ]
for i in range(390,200,-10):
 x_fschi selectKBest(chi2, k i).fit_transform(x_fsvar,y)
 onece cross_val_score(RFC(n_estimators 10,random_stade 0),x_fschi,y,cv 5).mean( )
 score.append(once)
plt.plot(range(350,250,-10),score)
plt.show()

卡方检验返回两个值 卡方值和P 其中卡方值难以界定有效范围 P值取0.01或0.05作为显著性边界–拒绝还是接受原假设。

chivalue,pvalues_chi chi2(x_fsvar,y)
chivalue
pvalues_chi
k chivalue.shape[0]-(pvalues_chi 0.05).sum()
P 0.05或0.01p 0.05或0.01数据差异差异不是自然形成差异自然形成相关性两组数据线性相关不具有线性相关原假设拒绝原假设接收原假设 F检验

F检验捕捉每个特征与标签间的线性关系 其原假设 数据间不存在显著的线性关系。既可以应用于连续性标签 回归 也可以应用于离散型标签 分类 其对应的类分别为feature_selection.f_classify和feature_selection.f_regression。

from sklearn.feature_selection import f_classif
from sklearn.feature_selection import SelectKBest
from sklearn.model_selection import cross_val_score
x_f selectKBest(f_classif,k 300).fit_transform(x)//k为特征选择后个数
crosss_val_score(RFC(n_estimators 10,random_state 0),x_f,y,cv 5).mean()
F,pvalue_f f_classif(x_fsvar,y)
print(F)
print(pvalue_f)
k F.shape[0]-(pvalues_f 0.05).sum()
互信息法检验

互信息的概念来自于信息熵 可以捕获特征与标签间的任意关系 包括线性与非线性 其返回特征与标签间的互信息估计值在0-1间 0表示两数据相互独立 1表示两数据完全相关。

互信息计算公式如下

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/268286.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号