2. 特征工程基础
2.1 特征工程的定义
特征工程(Feature Engineering)是指利用领域知识和数学变换,将原始数据转化为更能代表问题本质、更适合机器学习算法处理的特征向量的过程。它是数据科学流程中决定模型性能上限的关键环节,通常占据项目 60%–80% 的工作量。
核心公式视角: 特征工程的目标是找到映射函数 f,使得 X' = f(X),其中 X' 比原始数据 X 更易于被模型捕捉规律。
2.2 特征工程的核心目标
特征工程围绕三个相互关联的核心目标展开:提升模型性能、降低模型复杂度、增强模型可解释性。三者构成一个平衡三角,任何一方的过度优化都可能牺牲另外两者。
| 核心目标 | 定义 | 典型手段 | 衡量指标 |
|---|---|---|---|
| 提升模型性能 | 通过特征变换使数据分布更符合模型假设,提高预测精度 | 特征缩放、非线性变换、特征交叉、目标编码 | 准确率、AUC、RMSE、F1-Score |
| 降低模型复杂度 | 减少特征维度、消除冗余噪声,防止过拟合 | 特征选择、PCA、L1 正则化、方差过滤 | 特征数量、训练时间、模型参数量 |
| 增强可解释性 | 使特征含义清晰、贡献可量化,便于业务理解和调试 | 离散化、WOE 编码、SHAP 值、特征重要性排序 | 特征含义清晰度、业务方接受度 |
实践建议: 在 MRM(多轮特征筛选与模型验证)流程中,建议按“性能→复杂度→可解释性”的优先级顺序迭代,避免一开始就过度追求可解释性而损失预测能力。
2.3 三大目标的关系与权衡
特征工程并非线性流程,而是需要在三个目标之间反复权衡。以下关系图展示了它们之间的相互作用:
2.4 核心目标详解
2.4.1 提升模型性能
原始数据往往存在量纲不统一、分布偏态、特征与目标关系非线性等问题,直接输入模型会导致性能瓶颈。特征工程通过以下手段释放数据潜力:
- 特征缩放: 标准化(Z-score)、归一化(Min-Max),使梯度下降收敛更快,提升 SVM、KNN 等距离敏感模型的表现。
- 非线性变换: 对数变换、Box-Cox 变换,将右偏分布拉近正态分布,提升线性模型的拟合能力。
- 特征交叉: 构造多项式特征或笛卡尔积特征,捕捉原始特征间的交互效应。
- 目标编码: 对高基数类别特征,用目标变量的统计量(均值、WOE)替代原始类别,提升树模型和信息利用率。
# 特征缩放示例(Python)
from sklearn.preprocessing import StandardScaler, MinMaxScaler
import numpy as np
X = np.array([[100, 0.001], [200, 0.002], [300, 0.003]])
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
print(X_scaled)
# [[-1.22474487 -1.22474487]
# [ 0. 0. ]
# [ 1.22474487 1.22474487]]
2.4.2 降低模型复杂度
高维特征空间会引发“维度灾难”,导致模型训练缓慢、过拟合风险上升。降低复杂度的核心策略包括:
- 特征选择: 过滤法(方差阈值、卡方检验)、包裹法(RFE)、嵌入法(Lasso 系数筛选)。
- 特征降维: PCA(主成分分析)、t-SNE、UMAP,将高维数据映射到低维子空间。
- 特征聚合: 将多个相关特征合并为统计指标(均值、方差、比率),减少冗余。
常见误区: 降维后的特征会丧失原始物理含义,导致可解释性下降。在 MRM 验证中,建议先尝试特征选择,再考虑降维。
2.4.3 增强可解释性
在金融风控、医疗诊断等强监管领域,模型必须能够向业务方和监管机构解释预测依据。特征工程层面的可解释性手段包括:
- 特征离散化: 将连续变量按业务含义分箱(如年龄分箱:0-18, 19-35, 36-60, 60+),使模型决策边界更直观。
- WOE 编码: 在评分卡模型中,用证据权重(Weight of Evidence)替代原始特征值,每个分箱的 WOE 值直接反映该箱对目标变量的区分能力。
- 特征重要性排序: 基于树模型或 SHAP 值,输出每个特征对预测结果的贡献度,便于业务方理解模型逻辑。
2.5 特征工程在 MRM 流程中的定位
MRM(Multi-Round Modeling)验证流程中,特征工程并非一次性工作,而是贯穿多轮迭代的核心环节。以下流程图展示了特征工程与模型验证的协同关系:
2.6 本章小结
- 特征工程 是将原始数据转化为模型友好特征的系统工程,是数据科学流程中投入产出比最高的环节。
- 三大核心目标 为提升模型性能、降低模型复杂度、增强可解释性,三者需要动态平衡。
- 在 MRM 验证 框架下,特征工程不是一次性工作,而是与模型验证形成闭环迭代,每轮验证结果驱动特征优化。
- 下一章将深入讲解特征工程的具体技术手段,包括特征缩放、编码、交叉与选择方法。