04_特征工程—特征选择

简介: 04_特征工程—特征选择

一、特征选择 - 背景


当做完特征转换后,实际上可能会存在很多的特征属性,比如:多项式扩展转换、文本数据转换等等,但是太多的特征属性的存在可能会导致模型构建效率降低,同时模型的效果有可能会变的不好,那么这个时候就需要从这些特征属性中选择出影响最大的特征属性作为最后构建模型的特征属性列表。


在选择模型的过程中,通常从两方面来选择特征:


1、特征是否发散:如果一个特征不发散,比如方差接近于0,也就是说这样的特征对于样本的区分没有什么作用。


2、特征与目标的相关性:如果与目标相关性比较高,应当优先选择。


特征选择基于方差,选择方差比较大的。


二、特征选择方法


特征选择的方法主要有以下三种:


Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,从而选择特征;常用方法包括方差选择法、相关系数法、卡方检验、互信息法等。


Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征或者排除若干特征;常用方法主要是递归特征消除法。


Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权重系数,根据系数从大到小选择特征;常用方法主要是基于惩罚项的特征选择法 。


三、过滤法


3.1 特征选择—方差选择法


方差选择法:先计算各个特征属性的方差值,然后根据阈值,获取方差大于阈值的特征。

threshold = 0 表示设置方差的阈值为0;


方差为0,几乎等于是选择了所有特征。因为一组特征,若干方差等于0表示数据完全相等,一般不太会有这种数据。


e840ff3cdcf84a7d873c7d0470ee6f0a.png


3.2 特征选择—相关系数法


相关系数法:先计算各个特征属性对于目标值的相关系数以及阈值K,然后获取K个相关系数最大的特征属性。(备注:根据目标属性y的类别选择不同的方式)


36a2d84f7ae7419e80375b9891f08e47.png


3.3 特征选择—卡方检验


卡方检验:检查定性自变量对定性因变量的相关性。


卡方值越大,说明两个特征之间的关联性越大。


特征取值不能为负数


936fe0d814654ceb94f1dd126694311b.png


四、包装法


4.1 特征选择—递归特征消除法


递归特征消除法:使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练。


bcec5d8dd5e347fda407b9196fdbc253.png


五、嵌入法


5.1 特征选择—基于惩罚项的特征选择法


在使用惩罚项的基模型,除了可以筛选出特征外,同时还可以进行降维操作。


6e0fea1ee16c4d08ad4557e878185631.png


5.2 特征选择—基于树模型的特征选择法


树模型中GBDT在构建的过程会对特征属性进行权重的给定,所以GBDT也可以应用在基模型中进行特征选择。


目录
相关文章
|
6月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
113 1
|
3月前
|
机器学习/深度学习 数据采集 算法
|
6月前
|
机器学习/深度学习
【机器学习】如何根据训练集大小选择分类器?
【5月更文挑战第10天】【机器学习】如何根据训练集大小选择分类器?
|
6月前
|
机器学习/深度学习 数据挖掘 Python
机器学习-特征选择:如何使用互信息特征选择挑选出最佳特征?
机器学习-特征选择:如何使用互信息特征选择挑选出最佳特征?
647 1
|
6月前
|
机器学习/深度学习 数据采集 传感器
【机器学习】特征工程之特征选择
【机器学习】特征工程之特征选择
131 2
|
6月前
|
机器学习/深度学习 算法 索引
【机器学习】特征选择之过滤式特征选择法
【机器学习】特征选择之过滤式特征选择法
568 3
|
6月前
|
数据采集 机器学习/深度学习 Python
掌握XGBoost:特征工程与数据预处理
掌握XGBoost:特征工程与数据预处理
433 3
|
机器学习/深度学习 算法 Python
机器学习基础:用 Lasso 做特征选择
机器学习基础:用 Lasso 做特征选择
机器学习基础:用 Lasso 做特征选择
|
机器学习/深度学习 算法 Python
特征选择:从冗杂数据中找出真金
特征选择:从冗杂数据中找出真金
72 0
|
数据采集 机器学习/深度学习 Python
机器学习 - 数据预处理中的 特征离散化 方法
在数据分析中,我们认为在某个范围内取值过于密集的特征认为是取值”连续“的特征。出于某些需求经常需要将这些”连续特征进行离散化“。本文介绍三种比较实用的数据离散化方法。 本文介绍可供参考的三种特征离散化方法的Python实现。
270 1