特征工程是目标驱动、业务扎根、隔离严谨、可复现的系统性改造。需明确建模目标反向设计特征,区分缺失与异常的业务含义,合理编码高基数与非结构化字段,并严格时间隔离防止信息泄露。
特征工程不是“加几个统计量”或“把字符串转成数字”就完事,而是让数据真正适配模型学习目标的系统性改造。核心在于理解业务逻辑、识别数据噪声、暴露隐藏模式,并控制信息泄露风险。
特征的好坏不取决于复杂度,而取决于它是否服务于最终任务。比如预测用户7天内是否会流失,就不该直接用“历史总登录次数”,而应构造“过去3天登录频次衰减率”“最近一次操作距今小时数”“连续24小时无交互标记”等与流失强相关的时间敏感信号。
缺失值本身可能是重要信号。例如金融场景中“用户未填写年收入”,可能比填了“0元”更反映真实拒贷倾向。异常值也需区分是录入错误(需清洗)还是极端但合理行为(如大客户单笔采购千万,应保留并单独建模)。
邮箱域名、商品SKU、搜索关键词等高维稀疏字段,直接one-hot会爆炸。文本、日志、图像等非结构化数据,不能靠简单TF-IDF应付。
多值字段(如用户兴趣标签列表):转换为加权集合嵌入(Weighted Bag-of-Entities),权重可来自点击频次或停留时长时间序列场景下,用全局均值填充测试集缺失值,等于把未来统计量“偷”进当前预测——模型上线必然崩。所有统计类特征(如用户平均订单额)必须基于截止到该样本时间点的历史数据计算。
基本上就这些。特征工程没有银弹,但有清晰逻辑:目标驱动、业务扎根、隔离严谨、可复现。做得好,模型效果提升常超过调参本身。