特征选择是机器学习和数据预处理中用于选择数据集中最有价值特征的过程。特征选择主要集中在剔除冗余、无关或对目标变量贡献较小的特征,从而保留那些与目标变量有较高相关性或显著性的特征。
过滤法根据特征与目标变量的统计关系进行特征选择,不依赖具体的机器学习模型。常见的方法包括:
1、方差过滤法
原理:计算每个特征的方差,并设定一个方差阈值(通常默认为0),然后移除那些方差低于该阈值的特征。方差低于阈值的特征可能是常数特征(即所有样本的该特征值都相同)或者变化非常小的特征,因此对模型的影响不大。
局限性:阈值设得过高可能会去掉有用的特征,设得过低则可能效果不明显。
适用场景:适用于数据集中含有大量低方差特征的情况,特别是对于分类任务,方差过滤有助于减少冗余特征,提高模型性能。
示例代码:
2、相关系数法
相关性方法通过计算特征与目标变量的相关性(如皮尔逊相关系数、斯皮尔曼相关系数等)来评估特征的重要性。假设与目标变量高度相关的特征对预测更有用。
皮尔逊相关系数
(只用于线性关系)用于衡量两个变量之间的线性相关程度,取值范围为 [−1,1]。值越接近 1 或 -1,表示特征和目标变量之间的线性关系越强;接近 0 表示线性无关。
示例代码:
斯皮尔曼相关系数
一种基于排名的相关系数,用于度量变量之间的单调关系。它不要求数据是正态分布,适合非线性关系较多的数据集,也可以用于有序的分类数据。
示例代码:
3、假设检验法
t 检验
- 用于检验两个类别的均值是否存在显著差异,适合数值特征和二元分类目标变量。
- 适用场景:目标变量二元分类问题,判断数值特征在两类间是否显著不同。(先分类别,再比较特征在不同类别上的差异)
示例代码:
卡方检验
- 卡方检验利用实际观测值和期望值的差异来计算卡方统计量。
- 适用于分类特征和类别标签之间的相关性检验,判断特征和目标变量之间是否具有独立性。
- 适用场景:特征和目标都是分类变量,且目标变量最好是二分类的 ,通常用于选择分类数据中显著性的类别特征。(类别多时不适合用独热编码)
代码示例:
方差分析
- 方差分析和t检验都是用于比较组间均值的统计方法。在两个目标类别的情况下,t检验是更适合的选择,因为它更简单且专门用于两个组的均值比较。
- 适合数值特征(非离散)和多类别目标变量,用于检验不同类别之间的均值是否有显著差异。
- 适用场景:多类别分类(目标变量类别不只两个)问题。
代码示例:
一种利用预测模型性能来评估特征子集的方法。包装法的基本思想是:将特征选择过程和模型训练过程结合起来,以寻找最优的特征子集。常用方法:
- 前向选择:
从空特征集开始,每次选择一个新的特征并添加到模型中,直到模型的性能不再显著提升。这个过程是逐步地构建一个特征集合,以最小化误差或最大化性能。 - 后向消除:
从包含所有特征的集合开始,每次移除一个特征,看看模型性能是否提升或基本保持不变。这种方法逐步减小特征集合的大小,以期找到对模型性能最重要的特征子集。 - 递归特征消除:
该方法也是从所有特征开始,但是,递归特征消除是通过训练模型并根据特征的重要性排序来逐步移除特征的。每次迭代移除对模型贡献最小的特征,直到找到最优特征组
- 不易陷入局部最优:减少忽略重要特征的风险
- 模型适配性:可兼容多种模型,适用于较多特征的情况- 计算耗时:特征较多时增加特征逐步耗时
- 潜在冗余:可能包含信息重叠或冗余
- 可能过拟合:特征过多时在小样本上易过拟合特征数量较多,训练时间允许的情况后向消除- 适用于小数据集:从全特征集开始逐步减少
- 关注重要性:优先保留重要特征,排除噪声
- 模型适配性:可用于多种模型- 计算量大:特征多时逐步去除特征耗时
- 可能局部最优:可能忽略特征间相互作用
- 依赖初始特征集:初始集合质量影响结果特征数量较少,需要优先筛选关键特征递归特征消除 (RFE)- 自动化筛选:递归消除低重要性特征
- 效果优良:保留特征通常是决定性因素
- 灵活性强:适用于树模型、线性模型等- 计算开销大:每次重新训练并计算特征重要性耗时
- 对模型依赖性强:不适用于无特征重要性的模型
- 易受噪声影响:可能错误保留噪声特征适用于特征重要性可评估的模型,较少噪声数据
示例代码:
与过滤法和包装法不同,嵌入法将特征选择与模型训练结合在一起,因此在训练模型的同时进行特征的选择。示例算法:
- Lasso回归:通过L1正则化进行特征选择,惩罚项促使部分特征的系数变为零。(需要了解正则化原理可查看另一篇相关文章)
- 决策树:可以根据特征的重要性分裂节点,选择在分裂中带来最大信息增益的特征。
- 随机森林:通过计算特征的重要性得分来进行特征选择。
- 简单高效
- 模型无关性
- 忽视特征间的关系
- 无法优化模型性能
- 数据集较大,特征维度高
- 对模型选择较为敏感,计算复杂度需控制
包装法- 考虑特征间的相互作用
- 优化模型性能
- 计算成本高
- 容易过拟合
- 数据集较小或中等规模,特征数量有限
- 当模型性能为主要关注点,计算资源充足时
嵌入法- 模型相关性
- 较好的计算效率
- 模型依赖性强
- 可能受限于模型的假设
- 需要同时考虑特征选择和模型训练
- 使用特定模型(如树模型、正则化回归等)时
# 文章如有错误,欢迎大家指正,一起学习进步!
到此这篇特征工程的特征(特征工程的特征参数重要性评估的全部方法及代码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/kjbd-gc/54799.html