IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> sklearn入门——特征选择 -> 正文阅读

[人工智能]sklearn入门——特征选择

过滤法

过滤法是在机器学习训练之前进行的数据预处理,根据各种统计检验指标筛选出较好的特征子集。

方差过滤
  • VarianceThreshold类
    通过特征的方差来筛选特征的类。有些特征的方差很小,所以要首先消除方差为0的特征。其中的参数threshold,表示方差的阈值,消除方差小于阈值的特征,默认值是0.
    相关操作及注释:
import pandas as pd
import numpy as np
from sklearn.feature_selection import VarianceThreshold

data = pd.read_csv()
X = data.iloc[:,1:]# 取出特征
Y = data.iloc[:,0]# 取出标签
selector = VarianceThreshold() #实例化
X_var0 = selector.fit_transform(X) # 和前边学的操作一样

# X.var()计算方差,结果包括索引和数值
np.sort(X.var().values)[100]
# 当特征是二分类时,方差就是p(1-p)

对于KNN、SVM、神经网络等算法,需要遍历所有特征,计算量很大,过滤法过滤后的数据就可以降低这些算法的计算成本。而随机森林是随机选择特征进行分支。

  • 参数threshold选择
    经验,尝试。通常用阈值为0或者阈值很小的方差来过滤,先消除明显用不到的特征。
相关性过滤

方差过滤后,希望挑选出与标签相关且有意义的特征来为我们提供大量信息。在sklearn中评判相关性的有:卡方、F检验、互信息

  • 卡方过滤
    卡方过滤是专门针对离散型标签(即分类问题)的相关性过滤。卡方检验类为:feature_selectio.chi2,可以计算每个非负特征和标签之间的卡方统计量,并按照卡方统计量由高到低为特征排序。然后可以结合feature_selection.SelectKBest来获取前k个相关的特征。
    相关操作:
from sklearn.ensemble import RandomForestClassifier as RFC
from sklearn.model_selection import cross_val_score
from sklearn.feature_selection import SelectKBest# 选出前k个评分最高的特征的类
from sklearn.feature_selection import chi2 # 计算每个非负特征和标签之间的卡方统计量

X_fschi = SelectKBest(chi2, k=356).fit_transform(X_fsvar, y)# 和其他操作一样都用fit等操作
cross_val_score(RFC(n_estimators=10,random_state=0),X_fschi,y,cv=5).mean()# 交叉验证一下

调参时可以根据统计学中的相关性检验来调参,就是让两者之间的相关性越强越好,看p值,p值越小越好。
可以chi2训练结果中返回。

	chival, pval = chi2(X_fsvar, y)
  • F检验
    F检验,又称ANOVA,方差齐性检验,用来捕捉每个特征和标签之间的线性关系的过滤方法,既可以做回归,又可以做分类。在sklearn中有feature_selection.f_classiffeature_selection.f_regression两种。同样,要和SelectKBest同时使用来获取前k个特征。F检验和卡方检验结果可能相差不大。
    相关操作:
from sklearn.feature_selection import f_classif
F, p = f_classif(X_fsvar,y)
F
  • 互信息法
    互信息可以获取每个特征和标签之间的任意关系。既可以做回归,也可以做分类。分别为:feature_selection.mutual_info_classifmutual_info_regression
    互信息返回是两个量之间的估计,在0-1之间,为0表示两个变量独立,为1则表示两个变量完全相关。
    相关操作也是fit啥的都一样。

嵌入法

嵌入法是一种让算法自己决定使用那些特征的方法,特征选择和训练同时进行。在使用嵌入法时,我们先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据权值系数从大到小选择特征。这些权值系数往往代表了特征对于模型的某种贡献或某种重要性,比如决策树和树的集成模型中的feature_importances_属性,可以列出各个特征对树的建立的贡献,我们就可以基于这种贡献的评估,找出对模型建立最有用的特征。
嵌入法的类:feature_selection.SelectFromModel
SelectFromModel是一个元变换器,可以与任何在拟合后具有coef_,feature_importances_属性或参数中可选惩
罚项的评估器一起使用(比如随机森林和树模型就具有属性feature_importances_,逻辑回归就带有l1和l2惩罚
项,线性支持向量机也支持l2惩罚)。
在这里插入图片描述

包装法

包装法也是一个特征选择和算法训练同时进行的方法,与嵌入法十分相似,它也是依赖于算法自身的选择,比如coef_属性或feature_importances_属性来完成特征选择。但不同的是,我们往往使用一个目标函数作为黑盒来帮助我们选取特征,而不是自己输入某个评估指标或统计量的阈值。这个算法是专用的数据挖掘算法,常见的是递归特征消除法(RFE)。它是一种贪婪的优化算法,旨在找到性能最佳的特征子集。 它反复创建模型,并在每次迭代时保留最佳特征或剔除最差特征,下一次迭代时,它会使用上一次建模中没有被选中的特征来构建下一个模型,直到所有特征都耗尽为止。 然后,它根据自己保留或
剔除特征的顺序来对特征进行排名,最终选出一个最佳子集。

  • feature_selection.RFE
    class sklearn.feature_selection.RFE (estimator, n_features_to_select=None, step=1, verbose=0)
    参数estimator是需要填写的实例化后的评估器,n_features_to_select是想要选择的特征个数,step表示每次迭代中希望移除的特征个数。除此之外,RFE类有两个很重要的属性,.support_:返回所有的特征的是否最后被选中的布尔矩阵,以及.ranking_返回特征的按数次迭代中综合重要性的排名。类feature_selection.RFECV会在交叉验证循环中执行RFE以找到最佳数量的特征,增加参数cv,其他用法都和RFE一模一样。
    也是fit、transform等操作进行操作。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:25:17  更:2021-08-10 13:27:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 20:20:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码