Feature Engineering Patterns 是一套面向机器学习特征工程的专家级模式集合,重点解决特征存储、预处理管道、时间序列特征、目标编码、特征选择与漂移检测等常见问题。资料以代码示例形式给出六类模式,并附有反模式说明。
用途与定位 该技能面向需要构建可复现、可上线特征流程的机器学习工程场景,强调防止数据泄漏、保证训练与线上特征一致性,以及监控生产环境中的特征漂移。
主要能力
- Feast 特征存储设置:定义实体(Entity)、数据源(FileSource)、特征视图(FeatureView)与特征服务(FeatureService),并通过 get_historical_features 获取时间点正确的训练数据,通过 get_online_features 进行在线检索。
- sklearn Pipeline 与 ColumnTransformer:将数值特征、低基数类别特征与高基数类别特征分组处理,在管道内完成缺失值填充、标准化、独热编码或序数编码,避免在测试集上拟合变换器。
- 时间序列特征工程:按实体分组计算滞后特征、滚动均值/标准差/最大值、趋势比值,以及小时、星期、月份的周期性正弦余弦编码。
- K 折目标编码:对高基数类别使用折外样本计算目标均值,并结合平滑参数与全局均值,防止目标泄漏。
- 基于 SHAP 的特征选择:训练随机森林后计算 SHAP 值,按平均绝对 SHAP 值的百分位阈值筛选特征。
- PSI 特征漂移监控:计算群体稳定性指数,按 PSI 小于 0.1、0.1 至 0.25、大于 0.25 划分稳定、轻微偏移与显著漂移。
使用方式 资料以 Python 代码片段展示各模式的实现,涉及 feast、sklearn、pandas、numpy、shap、joblib 等库。用户可按示例定义特征仓库配置、构建管道、计算特征、执行编码与漂移报告。具体安装命令与运行环境要求暂未提供。
适用场景 适用于推荐模型、用户购买行为特征、时间序列预测等需要特征存储与在线/离线一致性的机器学习项目,也适用于需要检测生产特征分布变化的监控场景。
限制与注意事项 资料列出五类反模式:在全量数据上拟合变换器、时间序列特征未按实体分组、训练特征在服务时不可用、在线与离线特征计算不一致、朴素目标编码导致泄漏。资料未提供具体性能数据、收费信息或平台支持范围。