3. 特征工程基础回顾:特征提取、特征选择、特征构造的核心流程与常见陷阱

特征工程是机器学习流程中最关键、最耗时、也最容易被低估的环节。在规则引擎与模型协同工作的场景中,特征工程的质量直接决定了规则冲突的复杂度和可解释性。本节系统回顾特征工程的三大支柱——特征提取、特征选择与特征构造,并重点剖析每个环节的常见陷阱。

3.1 特征工程全景流程

特征工程并非一次性工作,而是一个迭代循环。下图展示了从原始数据到最终特征集的标准流程,以及每个阶段与规则引擎的交互点。

特征工程核心流程与规则引擎交互 特征工程核心流程与规则引擎交互 原始数据 特征提取 特征构造 特征选择 迭代反馈 规则引擎冲突检测点 特征命名冲突 · 计算逻辑不一致 · 缺失值处理差异 最终特征集 模型训练/推理
关键认知:特征工程不是一次性流水线。特征构造和特征选择之间存在迭代反馈环——构造出的新特征需要经过选择验证,而选择结果又会指导下一轮构造方向。规则引擎的冲突检测应嵌入这个循环中,而非等到模型上线前才处理。

3.2 特征提取:从原始数据到可用特征

特征提取是将原始数据(文本、图像、时间序列、日志等)转换为结构化数值特征的过程。在规则引擎场景中,提取方式必须与规则中使用的字段定义保持一致。

3.2.1 常见提取方法

数据类型 提取方法 典型输出 规则引擎注意事项
文本 TF-IDF、词袋、Word2Vec 词频向量、嵌入向量 分词粒度与规则关键词匹配不一致
时间序列 滑动窗口统计、傅里叶变换 均值、方差、趋势斜率 窗口大小与规则时效性要求冲突
类别数据 独热编码、标签编码、目标编码 稀疏矩阵、编码映射表 编码顺序变化导致规则条件失效
日志/事件 聚合计数、时间衰减统计 事件频率、最近事件时间戳 聚合窗口与规则触发窗口不匹配

3.2.2 常见陷阱

  • 陷阱1:数据泄露——提取时使用了未来信息(如用全量数据计算归一化参数),导致规则在线上表现与线下严重偏离。
  • 陷阱2:提取粒度不一致——模型特征提取粒度(如按天聚合)与规则引擎的实时判断粒度(如按分钟)不匹配,造成冲突。
  • 陷阱3:缺失值处理隐式规则——提取过程中对缺失值的填充策略(如填充0、均值、前向填充)会隐式引入规则,但往往未被文档化。
规则引擎冲突预警:特征提取阶段的缺失值填充策略必须显式记录并同步给规则引擎。例如,模型侧对缺失年龄填充为平均值30,但规则侧有一条“年龄 < 18 拒绝”的规则,两者结合可能导致线上行为与预期不符。

3.3 特征构造:创造高信息密度特征

特征构造(又称特征衍生)是通过数学变换、组合、聚合等方式从现有特征中创建新特征。这是特征工程中最具创造性的环节,也是规则冲突的高发区。

3.3.1 特征构造方法分类

构造类型 方法示例 适用场景 规则冲突风险
算术组合 特征A / 特征B, A * B, A + B 比率类特征(如负债收入比) 中 — 除零处理不一致
聚合统计 分组均值、标准差、最大值 用户行为画像、交易频次 高 — 聚合窗口定义冲突
时间窗口 过去7天均值、过去30天趋势 时序预测、异常检测 高 — 窗口边界对齐问题
交叉组合 类别A × 类别B 笛卡尔积 推荐系统、风控规则 极高 — 组合爆炸与规则覆盖
非线性变换 log(1+x)、sqrt(x)、多项式 长尾分布特征处理 低 — 但需注意定义域

3.3.2 常见陷阱

  • 陷阱1:特征膨胀失控——盲目进行笛卡尔积或多项式组合,导致特征维度爆炸,规则引擎无法维护。
  • 陷阱2:构造逻辑与规则逻辑重复——模型侧构造了“收入/负债比”,规则侧也有一条“收入/负债比 > 2”的规则,但计算口径不同(如模型用月收入,规则用年收入),造成冲突。
  • 陷阱3:时间窗口边界模糊——模型用“过去7天自然日”,规则用“过去7个工作日”,两者在周末和节假日产生差异。
特征构造中的时间窗口冲突示例 特征构造中的时间窗口冲突示例 模型侧:过去7个自然日 包含周末:3月1日(周六) ~ 3月7日(周五) 统计值:交易次数=12, 金额=¥8,500 规则侧:过去7个工作日 排除周末:3月3日(周一) ~ 3月7日(周五) 统计值:交易次数=8, 金额=¥6,200 冲突结果 模型判定“高频交易”,规则判定“正常交易”,决策不一致

3.4 特征选择:去芜存菁

特征选择是从候选特征集中筛选出对模型预测最有贡献的子集。在规则引擎场景中,特征选择不仅要考虑模型性能,还要考虑规则的可解释性和维护成本。

3.4.1 特征选择方法对比

方法类别 代表算法 优点 缺点 规则引擎适配性
过滤法 方差阈值、卡方检验、互信息 计算快、独立于模型 忽略特征间交互 高 — 选择结果稳定
包裹法 递归特征消除(RFE)、前向选择 考虑特征组合效果 计算开销大、易过拟合 中 — 选择结果可能不稳定
嵌入法 Lasso、树模型特征重要性 训练与选择同步 偏向特定模型 低 — 特征重要性随模型变化

3.4.2 常见陷阱

  • 陷阱1:选择偏差导致规则失效——特征选择时剔除了某个特征,但规则引擎中仍有依赖该特征的规则,造成运行时错误。
  • 陷阱2:特征稳定性被忽略——只关注特征对模型的贡献度,忽略了特征本身的稳定性(如分布漂移),导致规则在跨时间窗口时频繁冲突。
  • 陷阱3:多重共线性未处理——保留高度相关的特征对,导致模型权重不稳定,规则阈值难以确定。
最佳实践:在特征选择阶段引入“规则兼容性检查”。对于每个候选特征,自动扫描规则库中是否有关联规则,并生成冲突报告。例如,特征“用户信用分”被选择,但规则库中有3条规则依赖该特征的不同分段阈值,需要同步验证。

3.5 三大环节的冲突根源总结

环节 核心冲突根源 典型表现 预防策略
特征提取 计算口径不一致 模型用A方法归一化,规则用B方法 建立特征计算规范文档
特征构造 逻辑重复与窗口歧义 模型和规则各自实现相同特征但结果不同 统一特征注册中心
特征选择 选择结果与规则依赖脱节 特征被剔除但规则仍在引用 规则依赖图谱自动检测