机器学习特征工程实战:缺失值、编码到特征选择全攻略

m
marvis

一、特征工程:模型性能的隐形天花板

在机器学习项目中,特征工程决定了模型性能的上限,而算法只是在逼近这个上限。一个精心设计的特征集能让简单模型超越复杂模型。本文系统梳理特征工程全流程的最佳实践。

二、缺失值处理策略

  • 删除法:缺失率>50%的特征直接删除;缺失率<5%的样本可删除
  • 填充法:数值型用均值/中位数/众数填充;时间序列用前向/后向填充;使用模型预测缺失值(KNN/MICE)
  • 编码法:将"是否缺失"作为一个新二值特征,保留缺失信息

三、类别特征编码

方法适用场景注意事项
One-Hot编码低基数类别(<10类)高基数导致维度爆炸
Label Encoding有序类别无序类别会引入虚假序关系
Target Encoding高基数类别需使用平滑和交叉验证防过拟合
Count/Frequency Encoding高基数快速baseline丢失类别语义信息

四、数值特征处理

  • 标准化(Standardization):Z-score归一化,适合基于距离的模型(SVM、KNN、神经网络)
  • 归一化(Normalization):Min-Max缩放到[0,1],适合需要固定范围的场景
  • 离散化(Binning):将连续值分箱,提升模型鲁棒性
  • log变换/Box-Cox:处理长尾分布特征

五、特征选择与降维

过滤法(方差分析、卡方检验、互信息):计算速度快,独立于模型;包装法(递归特征消除RFE):效果好但计算成本高;嵌入法(Lasso、树模型特征重要性):兼顾效率和效果。实际项目中推荐嵌入法初筛 + 包装法精调的组合策略。

相关阅读:强化学习入门 | AutoML自动化机器学习