特征选择方法

摘要:
特征选择在数据预处理完成后,我们需要选择有意义的特征输入到机器学习算法和模型中进行训练。根据特征选择的形式,特征选择方法可分为三种类型:过滤器:过滤器方法,根据差异或相关性对每个特征进行评分,设置要选择的阈值或阈值数量,并选择特征。嵌入式:嵌入方法,首先使用一些机器学习算法和模型进行训练,得到每个特征的权重系数,并根据系数从大到小选择特征。机器学习中用于特征选择和mRMR算法分析的特征选择的工程方法是什么?
特征选择

当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:

  1. 特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
  2. 特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本文介绍的其他方法均从相关性考虑。  

根据特征选择的形式又可以将特征选择方法分为3种:

  1. Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
  2. Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
  3. Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。  

我们使用sklearn中的feature_selection库来进行特征选择。

特征选择方法第1张

特征选择方法第2张

【特征工程】特征选择及mRMR算法解析
机器学习中,有哪些特征选择的工程方法?

简单而清晰:https://wlypku.github.io/2017/08/12/feature-selection/

免责声明:文章转载自《特征选择方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Jenkins-插件找不到/插件安装失败04-SQLServer中链接服务器用法--连接Excel下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在Mac OSX EI Capitan下安装xgboost的吐血经历

官网上mac的安装并不复杂,但是实际操作下来有够吐血的,试了n多方法折腾到凌晨一点。。。。。。 在此详细记录一下以帮助其他踩坑的同学。 前情回顾: 为啥要安装gcc?为了xgboost能够多线程。。。好吧其实我本意并不在此,主要是最简单的单线程我都安装失败了!!就两步简单的操作为什么会失败呢我也不想的啊。。。。。。但是没有关于失败处理的博客,博客都是关于多...

机器学习之类别不平衡问题 (3) —— 采样方法

机器学习之类别不平衡问题 (1) —— 各种评估指标 机器学习之类别不平衡问题 (2) —— ROC和PR曲线 机器学习之类别不平衡问题 (3) —— 采样方法 完整代码 前两篇主要谈类别不平衡问题的评估方法,重心放在各类评估指标以及ROC和PR曲线上,只有在明确了这些后,我们才能据此选择具体的处理类别不平衡问题的方法。本篇介绍的采样方法是其中比较常用...

动手学深度学习13-权重衰减

权重衰减 高维线性回归实验 从零开始实现 初始化模型参数 定义L2范数惩罚项 定义训练和测试 使用权重衰减 pytorch简洁实现 小结 上一节中提提到的过拟合现象,在模型的训练误差远小于测试集上的误差。虽然增大训练接数据集可以减轻过拟合,但是获得额外的训练数据往往代价过大,本节介绍过拟合常用的方式:权重衰减(weight decay)。 权重衰...

3层-CNN卷积神经网络预测MNIST数字

3层-CNN卷积神经网络预测MNIST数字 本文创建一个简单的三层卷积网络来预测 MNIST 数字。这个深层网络由两个带有 ReLU 和 maxpool 的卷积层以及两个全连接层组成。 MNIST 由 60000 个手写体数字的图片组成。本文的目标是高精度地识别这些数字。 具体实现过程 导入 tensorflow、matplotlib、random 和 n...

自然语言处理入门 何晗 读书笔记 第1章 新手上路

第1章新手上路 自然语言处理是一门融合了计算机科学、人工智能以及语言学的交叉学科。这门学科研究的是如何通过机器学习等技术,让计算机学会处理人类语言,乃至实现终极目标----理解人类语言或人工智能。 自然语言处理这个术语没有被广泛的定义,注重语言学结构的学者喜欢使用计算语言学(CL),强调最终目的的学者更偏好自然语言理解(NLU)。 1.1自然语言与编程语言...

keras使用word2vec pretrained vector注意事项

在使用预训练的embedding层的时候,一定要注意词表的index,在word2vec中, model.wv.index2word 这个是一个list, index就是词的index,这个是固定的,即便是换到linux平台,这个index也是不变的,所以使用这个。 w2v_for_s2s = Word2Vec.load('model/word2vec_6...