Skip to content

特征选择方法对比表

字数 2,644阅读时间 6 分钟Ayaskt
2026/03/12 19:42:45 CST

基于 ML Lecture 4 Part I 内容整理

一、三大类方法总体对比

方面过滤法 (Filter Method)包裹法 (Wrapper Method)嵌入法 (Embedded Method)
主要思想在训练任何模型之前,利用统计评分(如相关系数或方差)快速挑选出最优特征通过反复训练/测试模型来评估特征子集在模型训练过程中同时完成特征选择
计算成本低(基于统计特性)高(需要重复训练模型)中等(只需训练一次)
速度中等
准确性中等高(基于模型性能)高(在训练中学习)
模型依赖模型无关模型无关(但需要训练模型评估)依赖具体算法
适用场景高维数据初步筛选、快速筛选中小规模数据集、需要高准确性训练过程中自动选择

二、过滤法 (Filter Method) 详细对比

2.1 过滤法总体特点

方面特点
原理利用统计方法检查特征
优点1. 模型无关:不依赖任何机器学习算法
2. 计算效率高:基于数据本身的统计特性进行过滤,适合高维数据的初步过滤(如基因数据和文本特征)
缺点1. 忽略特征交互:单变量统计无法充分考虑变量间的相互作用
2. 捕捉非线性关系能力有限:简单的统计量无法过滤非线性特征,需要更复杂的方法

2.2 具体过滤方法对比

方法适用范围优点缺点注意事项
方差阈值法
(Variance Threshold)
- 移除常量或近似常量特征
- 数值特征
- 简单快速
- 计算成本低
- 高方差 ≠ 一定有用
- 低方差特征有时仍可能与标签强相关
- 对特征尺度敏感,不能无视量纲直接比较方差;标准化后非恒定特征方差会接近 1,可能削弱筛选作用
- 对 one-hot 特征不能只看方差大小,还要结合业务和标签信息
卡方检验
(Chi-squared Test)
- 分类特征与分类目标
- 离散特征
- 能检测特征与目标的独立性
- 提供统计显著性
- 仅适用于分类问题
- 连续变量需要先分箱
- 连续变量需要先分箱(每个箱的期望频率应不小于5)
- 可以排序保留前K个特征,或设定显著性水平
F检验
(F-test)
- 数值特征与分类目标
- 连续特征
- 能分析组间方差和组内方差的差异
- 适用于数值特征
- 仅适用于分类问题
- 假设数据服从正态分布
- 用于评估数值特征对不同类别均值的区分能力
- F值越大,相关性越强
互信息法
(Mutual Information)
- 数值或分类特征
- 线性和非线性关系
- 能捕捉线性和非线性关系
- 基于信息论,理论基础扎实
- 计算相对复杂
- 需要估计概率分布
- 表示在已知特征X之后,关于目标Y的不确定性被减少的程度
- 适用于各种特征类型

三、包裹法 (Wrapper Method) 详细对比

3.1 包裹法总体特点

方面特点
原理通过反复训练/测试模型来评估特征子集
优点1. 模型性能导向:基于模型性能选择,结果高度可靠
2. 模型无关 (Model-agnostic):适用于任何模型
缺点1. 计算成本高:需要重复训练模型,不适合大规模数据集
2. 潜在过拟合:选择过程完全依赖数据特征,可能导致对训练数据过拟合

3.2 具体包裹方法对比

方法适用范围优点缺点步骤特点
前向选择
(Forward Selection)
- 特征数量较多
- 需要逐步添加特征
- 计算量相对其他包裹法较少(尽管仍需重复训练)
- 从空集开始,逐步添加
- 类似贪心算法忽略特征间的相关性
- 选出的集合可能不是最优的
1. 从空集开始
2. 每次添加一个使性能提升最大的特征
3. 直到满足终止条件
后向消除
(Backward Elimination)
- 高维数据
- 特征数量很多
- 更好地平衡了效率和效果
- 适合高维数据
- 依赖模型能力
- 如果模型不能完全学习特征,可能会错误消除某些特征
1. 从全特征集开始
2. 每次移除一个使性能损失最小的特征
3. 直到满足终止条件
递归特征消除
(RFE)
- 需要逐步剔除特征
- 基模型能提供特征重要性
- 比穷举搜索更高效
- 若基模型能表达特征交互,则可在一定程度上利用特征相关性
- 可选择与最终模型不同的基模型
- 仍需重复训练,特征很多时成本较高
- 依赖模型可解释性(基模型必须能给出重要性)
- 需要选择合适的基模型
1. 训练基模型获得特征重要性
2. 按重要性排序
3. 剔除排名最后的r个特征
4. 重复直到满足条件

四、嵌入法 (Embedded Method) 详细对比

4.1 嵌入法总体特点

方面特点
原理在模型训练过程中进行特征选择
优点1. 高效率:只需训练一次
2. 更好的适应性:特征选择依赖于具体算法
缺点1. 缺乏可解释性:复杂模型的重要性难以解释
2. 难以检测错误:错误只能反映在模型性能上

4.2 具体嵌入方法对比

方法适用范围优点缺点特点
L1正则化
(L1 Regularization / Lasso)
- 线性模型
- 高维数据
- 需要自动特征选择
1. 自动特征选择:系数为0的特征自动被移除
2. 计算效率高(适合高维)
3. 提供系数可解释性:系数值直接表示特征重要性
1. 对于高度相关的特征可能只随机选一个
2. 需要特征缩放:应只在训练集上拟合缩放器,再变换验证/测试集
3. 仅适用于线性模型或线性参数化部分
- 通过L1约束使部分系数变为0
- 需要调整超参数
- 系数的特征即为被选中的特征
决策树特征重要性
(Decision Tree Feature Importance)
- 分类和回归任务
- 需要捕捉非线性关系
1. 自动捕捉非线性关系
2. 计算效率高
1. 对特征与标签相关性较为敏感
2. 倾向于选择基数较高的特征(高基数特征)
- 基于加权后的基尼不纯度降低量计算重要性
- 重要性 =
- 可以设定阈值或选择top-k特征

五、方法选择指南

5.1 根据数据规模选择

数据规模推荐方法理由
大规模高维数据过滤法(方差阈值、互信息)计算效率高,适合初步筛选
中小规模数据包裹法(RFE、前向/后向)可以基于模型性能精确选择
训练过程中嵌入法(L1、决策树)只需训练一次,效率高

5.2 根据特征类型选择

特征类型推荐方法理由
分类特征 + 分类目标卡方检验专门用于检测分类特征与分类目标的独立性
数值特征 + 分类目标F检验分析组间方差和组内方差的差异
数值/分类特征 + 非线性关系互信息法能捕捉线性和非线性关系
线性模型 + 高维数据L1正则化自动特征选择,适合线性模型
非线性关系决策树特征重要性能自动捕捉非线性关系

5.3 根据需求选择

需求推荐方法理由
快速初步筛选过滤法速度快,计算成本低
高准确性包裹法或嵌入法基于模型性能,结果更可靠
可解释性过滤法(统计检验)或L1正则化提供统计显著性或系数可解释性
捕捉特征交互包裹法(RFE)或嵌入法(决策树)能考虑特征间的相关性
高维数据过滤法(方差阈值)或L1正则化计算效率高,适合高维

六、常见陷阱与注意事项

陷阱说明如何避免
数据泄露 (Data Leakage)在特征选择过程中误用了测试集或未来数据,导致评估结果虚高严格分离训练集和测试集,特征选择只在训练集上进行
多重共线性 (Multicollinearity)高度相关的特征会扭曲线性模型的权重并降低可解释性删除其中一个相关特征,或使用降维方法
目标泄露 (Target Leakage)特征包含关于目标变量的间接信息仔细检查特征,避免使用与目标直接相关的特征
忽略特征交互单独移除看似无关的特征,导致丢失组合特征的价值使用能捕捉特征交互的方法(如包裹法、决策树)
方差阈值法的误用无视特征量纲直接比较方差,或机械删除低方差特征明确方差阈值的尺度含义;对 one-hot 或同量纲特征可直接使用,并结合业务和标签信息综合判断

七、总结对比表

方法类别代表方法计算成本准确性可解释性适用场景
过滤法方差阈值、卡方检验、F检验、互信息中等高(统计显著性)高维数据初步筛选
包裹法前向选择、后向消除、RFE中等中小规模数据,需要高准确性
嵌入法L1正则化、决策树特征重要性中等中等(L1)到低(复杂模型)训练过程中自动选择

除特别注明外,本站原创内容采用 CC BY-NC-SA 4.0 协议授权;引用的歌词、课程材料、图片等第三方内容版权归原权利人所有。
Built with VitePress.