第11章 特征工程与数据处理
机器学习的成败,往往不在模型复杂度,而在于数据质量与特征表达能力。
这一章聚焦于如何「让模型看懂数据」,从特征提取、选择、编码到特征交互与自动化管理,系统解析特征工程的全流程。
11.1 特征提取、选择与编码
🧱 1. 特征提取(Feature Extraction)
目标: 将原始数据(文本、图像、日志、信号等)转化为机器可理解的数值表示。
典型方式:
-
文本数据:
- Bag of Words(词袋模型)
- TF-IDF(词频-逆文档频率)
- Word2Vec / FastText(分布式词向量)
- BERT embedding(上下文语义特征)
-
图像数据:
- 手工特征:SIFT、HOG、LBP
- 深度特征:CNN 提取的高维嵌入
-
时间序列 / 传感器:
- 滑动窗口、FFT(频域变换)、统计量(均值、方差、峰度)
-
结构化数据:
- 比例、差值、交叉项、聚合统计(groupby + mean)
💡 特征提取的本质:用数学结构描述现实世界的规律。
🧮 2. 特征选择(Feature Selection)
目标: 在海量特征中挑出最有用的子集,降低过拟合、提升训练速度。
方法分类:
- Filter(过滤法):独立评估单个特征与目标的关系 如:相关系数、卡方检验、互信息、方差选择。
- Wrapper(包装法):用模型性能来评估特征子集 如:递归特征消除(RFE)、前向/后向选择。
- Embedded(嵌入法):模型训练过程中自动筛选特征 如:L1 正则(Lasso)、树模型的特征重要性(XGBoost feature_importances_)。
💡 高维不等于高效,选择比堆砌更重要。
🔠 3. 特征编码(Feature Encoding)
目标: 将非数值型或类别特征转换为数值表示。
常见方式:
| 类型 | 编码方法 | 说明 |
|---|---|---|
| 类别型 | One-Hot | 为每个类别创建独立维度 |
| 类别型 | Label Encoding | 将类别映射为整数(有序性假设风险) |
| 类别型 | Target Encoding | 用类别对应的平均目标值代替 |
| 高基数类别 | Embedding Encoding | 用低维向量表示(常用于推荐系统) |
| 时间型 | 周期编码 | 将时间特征映射为 sin/cos(处理周期性) |
💡 正确的编码方式决定了模型是否能“理解”特征的语义结构。
11.2 标准化、归一化、缺失值处理
⚖️ 1. 标准化(Standardization)
将数据转化为均值为 0、方差为 1 的分布。 公式: [ x’ = \frac{x - \mu}{\sigma} ] 适用于梯度敏感算法(如线性回归、SVM、神经网络)。
📏 2. 归一化(Normalization)
将数值压缩到指定区间(通常是 [0,1])。 公式: [ x’ = \frac{x - \min(x)}{\max(x) - \min(x)} ] 适用于基于距离的模型(如 KNN、K-means)。
⚠️ 3. 缺失值处理
缺失的原因:系统故障、用户跳过输入、采样问题。
常见策略:
- 删除:样本或特征缺失太多。
- 填充:均值/中位数/众数/前值/模型预测。
- 增强:用缺失标志特征(is_null)标识。
💡 缺失值往往蕴含隐含信息,比如“没填性别”可能代表某类用户。
11.3 特征交互与高维稀疏化
🔄 1. 特征交互(Feature Interaction)
通过组合多个特征,捕捉非线性关系。
示例:
- 二阶交互项:
x1 * x2 - 逻辑交互:
(province, gender)→ “广东+女” - 特征交叉编码(Cross Feature Embedding):推荐系统中常见
自动化生成方式:
- PolynomialFeatures(sklearn)
- DeepFM / Wide&Deep(深度模型自动学习交互项)
🕳️ 2. 高维稀疏问题
特征交叉和编码会让特征空间爆炸,比如 One-Hot 后从几百维变成几十万维。
常见解决策略:
- 降维(PCA、SVD、AutoEncoder)
- 特征选择(L1正则)
- Hash Trick(哈希技巧)
- 稀疏矩阵存储(scipy.sparse)
💡 高维并非高效,机器学习模型更怕噪声特征。
11.4 自动特征工程与 Feature Store
🤖 1. 自动特征工程(Auto Feature Engineering)
随着 AutoML 的兴起,特征工程也进入自动化时代。
典型方法:
- FeatureTools:基于时间序列关系自动生成交互特征。
- Auto-sklearn / TPOT:自动搜索特征组合 + 模型管道。
- 深度特征学习:通过深度神经网络自动学习最优特征空间。
优点:
- 减少人工试错
- 适应大规模异构数据
- 支撑快速实验与生产部署
🧱 2. Feature Store(特征存储系统)
在企业级机器学习平台中,Feature Store 是特征工程的中枢。
功能:
- 特征计算与管理(版本、权限、监控)
- 在线/离线特征一致性保障
- 跨模型特征共享与复用
- 特征数据血缘追踪
代表系统:
- Uber Michelangelo Feature Store
- Feast(Google 开源)
- Tecton、Databricks Feature Store
💡 Feature Store 让“特征”成为可复用的资产,而不只是训练阶段的临时产物。
✅ 本章小结
| 模块 | 目标 | 关键思想 |
|---|---|---|
| 特征提取 | 从原始数据中提炼信号 | “看懂”数据 |
| 特征选择 | 去除无效与冗余特征 | 降噪提效 |
| 特征编码 | 转化非数值型特征 | 可计算化 |
| 标准化与归一化 | 保持尺度一致 | 提升优化效率 |
| 特征交互 | 捕捉非线性模式 | 提升表达力 |
| 自动特征工程 | 让系统自动挖掘特征 | 提升迭代速度 |
| Feature Store | 管理特征全生命周期 | 工程化落地 |
