第三章 特征工程与数据预处理面试题

特征工程是模型性能的“天花板”,数据预处理决定模型能否收敛。面试中高频考察三类问题:特征构造(从原始数据中提取有效信息)、缺失值处理(保证训练稳定性)、归一化/标准化(消除量纲影响)。本章提供结构化回答框架与实战模板,助你拆解面试官的深层考察点。

特征工程面试回答框架 明确问题类型 分析业务场景 选择标准方法 实施注意事项 验证与解释 先判断 再匹配 细节 效果 可回溯 适用:特征构造、缺失值处理、归一化方法等任何预处理问题
💡 使用提示:面试时按该框架逐层展开,先定性后定量,最后用具体案例佐证,可覆盖80%的特征工程问题。

📌 面试问答卡片

1. 特征构造

面试问题:“如何从原始时间戳数据中构造有用特征?请举例说明。”

面试官考察点:① 领域知识的转化能力 ② 特征冗余与过拟合的权衡 ③ 数值/类别特征构造的差异性认识。

回答框架:先定位业务场景(如用户行为预测),再按“拆分→聚合→交叉”三步构造:拆出年/月/日/星期/小时,聚合出统计量(均值/趋势),再与用户ID交叉生成行为模式特征。

简短示例回答:“对于用户下单时间戳,我会先拆出小时、星期、是否节假日;然后按用户聚合过去7天每小时下单次数作为滑动窗口特征;最后与商品类别交叉,构造‘用户-商品-时段’偏好特征。我还会检查特征与标签的相关性,避免引入噪声。”

可能追问:“特征过多导致过拟合怎么办?如何进行特征筛选?”

⚠️ 避坑提醒:避免构造未来信息(如用测试集时间段的均值作为训练特征),务必按时间划分窗口;同时警惕高基数交叉特征(如用户ID×商品ID)导致的稀疏性。

2. 缺失值处理

面试问题:“特征缺失率超过50%时,你倾向于删除还是填补?为什么?”

面试官考察点:① 对缺失机制(MCAR/MAR/MNAR)的理解 ② 不同模型(树模型 vs 神经网络)对缺失的鲁棒性 ③ 业务可解释性。

回答框架:先判断缺失类型(随机/非随机),再根据特征重要性、缺失比例、模型类型选择:若高频缺失且不重要→删除;若重要且为随机缺失→用中位数/KNN/模型预测填充;若为非随机缺失→保留“是否缺失”标记。

简短示例回答:“对于缺失率60%的‘用户收入’特征,我首先分析缺失是否与用户活跃度相关(非随机缺失)。考虑到重要,我会使用XGBoost模型预测缺失值,同时保留‘收入是否缺失’作为二元特征。若后续树模型效果无提升,再考虑删除该特征。”

可能追问:“如果测试集也出现同样缺失模式,训练集填充策略是否需调整?”

⚠️ 避坑提醒:切勿用全样本均值填充(引入未来信息);优先考虑业务逻辑填充(如用同类别用户的均值);树模型可以直接将缺失作为分支方向,无需强制填充。

3. 归一化/标准化方法

面试问题:“归一化和标准化分别适用于哪些模型?请举例对比。”

面试官考察点:① 是否理解量纲影响原理 ② 对线性模型、KNN、神经网络、树模型等不同场景的选用 ③ 异常值处理意识。

回答框架:先区分Min-Max归一化(有界、受异常值影响)和Z-score标准化(无界、对异常值相对鲁棒);再按模型给出选择:线性模型/神经网络/SVM需标准化(梯度下降收敛加快),KNN/聚类用归一化(距离计算平衡量纲),树模型无需缩放。

简短示例回答:“对于逻辑回归,我会用Z-score标准化:每个特征减去均值除以标准差,这样梯度下降更稳定。对于KNN,则用Min-Max归一化到[0,1],但先处理异常值(如截断到3σ)以免极端值压缩正常样本距离。树模型如LightGBM不需要归一化。”

可能追问:“为什么树模型不需要归一化?如果特征尺度差异极大,树模型会不会有偏向?”

⚠️ 避坑提醒:不要在交叉验证外做全局归一化,必须将训练集和验证集分别拟合/转换;Min-Max归一化遇到新样本超出边界时需定义截断策略;对于深度学习,Batch Normalization可以部分替代手动归一化。

📁 项目案例:电商用户购买预测特征工程

项目名称电商用户购买预测特征工程
业务背景某B2C平台需在双11前预测用户未来7天购买概率,用于定向优惠券发放;要求模型可解释且快速迭代。
规模指标训练样本500万用户、2000万订单;特征维度从原始20列扩展至120维;AUC从0.68提升至0.83。
技术栈Python + Pandas/Spark + XGBoost + Optuna;缺失值用中位数+模型预测;归一化用Z-score。
核心难点① 用户行为稀疏(80%用户只有1-2个历史行为)→ 引入用户分群聚合统计;② 缺失率高(用户画像缺失40%)→ 用最近一次购买行为预测填充;③ 特征时间偏移(训练/测试分布不一致)→ 按天滚动窗口构造。
面试高频追问“为什么不用深度学习?”(数据量级不够+可解释性要求)
“如何处理时间序列特征中的周期性和趋势?”(用傅里叶变换提取频域特征)
“特征重要性排序如何确定?”(SHAP值与Permutation Importance结合)
可迁移回答话术“在工业级特征工程中,我遵循‘业务理解→单变量统计→交叉组合→时序保障→验证迭代’的流水线。例如,用户活跃度特征不直接用‘登录次数’,而是构建‘近7天登录次数/历史均值’的偏离度特征,消除用户基数差异。缺失值优先用同群组填充,再考虑模型预测,并始终保留缺失标记。”
🌟 加分技巧:在项目案例中主动提及“分群聚合”、“时序交叉验证”、“SHAP可解释性”等关键词,能体现你的工程化思维和面试官期待的“落地能力”。