在明确了为什么特征选择是构建有效机器学习模型的重要步骤之后,我们现在考察用于此目的的第一类技术:过滤方法。过滤方法是一类特征选择算法,它们根据特征的内在统计特性以及它们与目标变量的关系来评估特征的价值。过滤方法的显著特点是,这种评估的进行是独立于您之后可能选择用于预测的任何特定机器学习算法的。它们作为预处理步骤,在实际模型训练开始之前筛选掉特征。过滤方法的工作原理一般方法包括为每个特征计算一个统计分数。这个分数量化了某些属性,例如:方差:特征值的离散程度。相关性:特征与目标变量之间的统计关系。统计显著性:假设检验的结果(例如,回归的ANOVA F检验或分类的卡方检验),用于评估特征与目标之间的关系。特征选择中,特征通常根据相关性进行排序。可以根据排名选择前 k 个特征,或者舍弃分数低于预设阈值的任何特征。考虑这个流程:digraph G { rankdir=LR; node [shape=box, style=rounded, fontname="sans-serif", margin=0.2, color="#495057", fillcolor="#e9ecef", style="filled,rounded"]; edge [color="#495057"]; RawData [label="完整特征集"]; FilterMetric [label="计算\n统计指标\n(例如,方差,相关性)", shape=ellipse, color="#1098ad", fillcolor="#99e9f2", style="filled,rounded"]; RankSelect [label="特征排序并\n根据分数\n选择/舍弃", shape=ellipse, color="#1098ad", fillcolor="#99e9f2", style="filled,rounded"]; SelectedData [label="精简特征集"]; Model [label="训练机器学习模型"]; RawData -> FilterMetric; FilterMetric -> RankSelect; RankSelect -> SelectedData; SelectedData -> Model; }过滤方法的流程:在完整特征集上计算统计指标,特征根据这些指标进行排序和选择/舍弃,所得的精简特征集随后用于模型训练。过滤方法的优点计算效率:由于它们不涉及训练机器学习模型,过滤方法通常非常快速,这使它们适合于高维数据集,在这些数据集中,重复训练模型(如在封装方法中)将不可行。模型无关性:特征选择过程不与任何特定模型绑定。由此生成的特征子集可以与多种算法搭配使用。简洁性:大多数过滤方法背后的原理基于标准统计量,使得它们相对容易理解和实现。过滤方法的局限忽略特征依赖性:过滤方法通常单独评估特征,或评估其与目标的关系,常常忽略特征之间的依赖或共同作用。即使每个特征单独得分不高,一组特征也可能整体上具有很强的预测能力。它们也不直接处理多重共线性(特征之间的高度相关性)。忽略模型偏差:所选的统计指标可能与您计划使用的学习算法的归纳偏差不完全匹配。由过滤方法认为优化的特征集,对于特定模型可能无法产生最佳表现(例如,基于树的模型与线性模型)。尽管存在这些局限,过滤方法在许多特征选择流程中作为重要第一步,特别是为了快速降低维度或确立一个基准特征集。在接下来的部分,我们将详细考察具体的过滤技术,例如方差阈值法、单变量统计检验和相关性分析。