标准回答
一、三类方法
特征选择按"是否依赖学习器"分为三类。
二、过滤法(Filter)
先于模型,用统计指标对每个特征独立打分再排序筛选。常见指标有方差(剔除近常数特征)、皮尔逊相关系数、卡方检验、互信息。优点是计算快、与模型解耦;缺点是忽略特征间组合效应。
三、包裹法(Wrapper)
把特征子集的搜索包在模型评估之外,用交叉验证的性能作为目标。典型如递归特征消除(RFE)、前向/后向逐步选择。效果通常最好,但每个子集都要训练模型,计算开销大、易过拟合。
四、嵌入法(Embedded)
选择嵌入到训练过程中。L1(Lasso)正则将不重要特征的系数压到 0;树模型(随机森林、XGBoost)依据分裂增益给出特征重要性。兼顾效果与效率,是工程中最常用的方案。
常见误区
⚠️ 常见踩坑
误区一:容易答偏的地方:过滤法的相关性是单变量的,可能漏掉只在组合中有用的特征;树重要性对高基数类别特征有偏,不能盲信排序。
追问
追问 1:过滤法用相关系数和用互信息有什么区别?
相关系数只能捕捉线性关系,对非线性依赖(如 U 形)会得到接近 0 的值;互信息度量任意形式的统计依赖,能发现非线性关系,但需要分箱或密度估计,计算更复杂、对样本量更敏感。
追问 2:RFE 的工作流程是怎样的?
递归特征消除先用全部特征训练模型,按系数或重要性剔除最弱的一个(或一批)特征,在剩余特征上重新训练,循环直到达到目标特征数。常配合交叉验证(RFECV)自动确定最优特征数量。
🔗 相似问题
同一考点的不同问法,换着练更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习
